C 概念比較

2021-06-21 08:21:28 字數 519 閱讀 5530

#define和const

#define:即巨集定義,可簡單理解為文字替換,不開闢記憶體,不進行資料型別檢測;如#define null 0;(編譯器在遇到null時總是用0代替null它沒有資料型別)

const:具有資料型別,編譯時檢測型別,定義時賦值,之後不可更改此值,const安全性更高;

i/o流與c語言輸入輸出

iostream的優點有:

1. 型別安全

2. 並且支援使用者自定義型別的流操作

3. iostream是根據操作物件自適應的,只需要使用》或者《就可以搞定一切

你來看下面這個例子:

printf("your answer is: %s\n", mystr);

cout << "your answer is: " << mystr << endl;

4. printf 隸屬於cstdio,是函式; cout/cin 隸屬於iostream,是物件

print優點:進行超大規模的i/o工作,printf要比iostream快滴多

C 引用比較和內容比較

1 靜態方法object.referenceequal,實際實現為引用比較。2 靜態方法object.equal,實際實現為引用比較。實際呼叫了例項方法equal 3 object例項方法equal,實際實現為引用比較。微軟原意equal應該為內容比較,但預設實現並不是這樣,開發者可以通過在自己設計...

關於繼承比較容易混淆的概念

1.繼承分為public繼承 protected繼承 private繼承 public繼承表示是乙個的概念,最常用。所有的public protected private引數都按原來屬性繼承下來,其中父類的private子類可能訪問 private繼承,表示有乙個的概念,所有的public prot...

C 與C之比較

1.函式原型宣告中都可以省略引數名稱,只保留型別名稱 2.空引數和可變引數 fuc c 中表示沒有引數 c語言中表示引數不確定,表示沒有引數是 func void 可變引數 二者一樣 int func int a,引數的型別與個數都不確定 3.返回值 c中宣告函式可以不寫返回值型別,預設為int m...