我的C 筆記

2022-03-19 00:11:16 字數 914 閱讀 1973

1,map的key值是不能重複的,char *比較的是位址,所以認為key值相同,所以你只能插入乙個元素

若要用char*做key,需要過載操作符 

(t1, t2),也就是map的第三個引數,當然你用std::string做key的話,可以不用過載這個操作符。

2,char轉int:

char a = '1';

int b = a-'0';

cout<

4,使用string時需要命名空間std

5,聯合(union)的成員物件不允許有建構函式、析構函式、虛函式

6,stl的string內部使用了記憶體池,不用擔心其new、delete影響效能

7,靜態成員函式可以當作全域性函式用,其函式位址都可以傳給void*

8,c++的try-catch異常捕獲有兩種:同步模式和非同步模式。其中前者不能捕獲記憶體訪問錯誤,後者可以捕獲記憶體訪問錯誤。

/ehs是啟用同步模式。(同   /gx)      

/eha是起用非同步模式。  

要在release版本使用非同步模式,需要加上/eha選項,此時可以捕獲到樓主的異常。9,c

語言中對於內建

型別而言,pass-by-value

通常比pass-by-reference

高效。但在

c++中,

優於使用者

自定義(

user-defined)構造

函式和析構函式

的存在,pass-by-reference-to-const

往往更好。

10,建立乙個靜態的棧物件時,比如乙個靜態的全域性棧變數,如果這個物件內部定義了乙個this指標,那麼不要在自身的建構函式中設定這個this指定,要在這個物件變數建立完畢以後在設定this指標,因為這兩個時刻this的位址不相同

0給主人留下些什麼吧!~~

我的C 筆記

1,map的key值是不能重複的,char 比較的是位址,所以認為key值相同,所以你只能插入乙個元素 若要用char 做key,需要過載操作符 t1,t2 也就是map的第三個引數,當然你用std string做key的話,可以不用過載這個操作符。2,char轉int char a 1 int b...

(無聊)我我我我的C 筆記(一)

我我我要學c 可是我我我只會c。所以,這篇筆記從乙個c初學者的角度。試著理解c 他在狂笑 概念 所以為什麼要有物件導向程式設計?當然,我們寫乙個hello world算乙個2 3是不需要物件導向的,但是當軟體年得越來越大,越來越多的 量的時候。問題就來了 舉個例子,我要做fifa遊戲,額這個遊戲已經...

我的c 筆記 1

1.c 中,main函式的返回值必須是int 型,該型別表示整數,int型是內建型別,即該型別是由c 語言定義的。2.在寫c 程式時,大部分出現空格符的地方可以使用換行符替代,這條規則有兩個例外 字串字面值中的空格符不能用換行符代替。空格符不允許出現在預處理指示中。3.數值後面加上l long型 u...