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...