關(guān)于引用
引用作函數(shù)形參時(shí)睹逃,不能使用其它方法的返回值作該方法的參數(shù)疗隶。因?yàn)榉祷刂挡荒鼙灰谩?/p>
比如:
有聲明:
A getA() const;
B getB(A& a);
那么:
getB(getA()); 則可能會(huì)出錯(cuò)。
說可能出錯(cuò)原因在于編譯器,在win32下編譯就能通過,并且程序能正常執(zhí)行拒垃。
在cygwin下編譯就會(huì)出現(xiàn) 找不到目標(biāo)函數(shù)艰猬,不存在A 到 A&的轉(zhuǎn)換這樣的錯(cuò)誤命贴。
關(guān)于typeid
在c++中,
typeid 用于獲知一個(gè)變量的具體類型。
注意:
typeid 是操作符民珍,不是函數(shù)!
關(guān)于STL
命名空間
所有函數(shù)封裝在命名空間std中
stl頭文件不使用.h 擴(kuò)展
容器類
- deque
- list
- map
- queue
- set
- stack
- vector
迭代器
常用函數(shù)
- sort()
- copy()
- find()
- replace()
- ostream_iterator(ostream, string)
- front_inserter()
- back_inserter()
- inserter()
- advance()
- distance()
- for_each()
- find_if()
- accumulate()
- random_shuffle() 發(fā)生器類
- count_if()
- bind1st()
- bind2nd()
- not1()
- not2()
用法
copy(v.begin(), v.end(),
ostream_iterator<int>(cout, "\t"));
參考:
關(guān)于new delete new[] delete[]
當(dāng)delete操作符用于數(shù)組時(shí)秸脱,它為每個(gè)數(shù)組元素調(diào)用析構(gòu)函數(shù)涯鲁,然后調(diào)用operatordelete來釋放內(nèi)存
關(guān)于指針對(duì)[]的重載
MoreEffectiveC++ Item M3提到指針下標(biāo)的問題。
文中說C++對(duì)指針下標(biāo)的處理僅僅是簡(jiǎn)單的加類型大小抹腿,若具體基類數(shù)組中存在具體派生類對(duì)象岛请,那么結(jié)果會(huì)出錯(cuò)。
表示很懷疑警绩,是真是假有待驗(yàn)證崇败。