1. 程式人生 > >讀書筆記_Effective C++_條款一:將C++視為一個語言聯邦

讀書筆記_Effective C++_條款一:將C++視為一個語言聯邦

編程 pri 來看 讀書 由來 c++程序 一個 函數指針 集成

C++起源於C,最初的名稱為C with Classes,意為帶類的C語言,然而,隨著C++的不斷發展和壯大,在很多功能上已經遠遠超越了C,甚至一些C++程序員反過來看C代碼會覺得不習慣。

C++可以看成由四個部分組成,分別是:

(1) C。C++從語法和代碼風格上以C為基礎,這也正是C++命名的由來,是在C的基礎上++。有意思的是,在《C++ Primer》這本書裏有一個問題,問為什麽C++叫“C++”而不叫“++C”呢?原因很簡單,C++具有深厚的C的底蘊,++C也許得到的是D,象征著另一種語言,而C++返回的還是C,表明它是站在C這個巨人的肩膀之上的。

(2) 面向對象。面向對象編程是C++不同於C的顯著部分,C++引入類和對象的概念,對事物提供了很好的抽象途徑,在一個class裏面不僅僅可以像C中的結構體一樣定義成員變量,而且可以提供方便快捷的成員函數,而不用像在C的結構體中用函數指針來實現。

(3) 模板。C++的模板,亦即泛型編程堪稱一絕,有了模板,就不用手工提供所有類型的重載版本了,而交由編譯器自行生成,大大減少了代碼的冗長。

(4) STL。STL是優秀的C++模板庫,裏面集成了大量實用的庫函數,比如string,vector,list,map等(唯一可惜的是沒有提供hash相關的庫,同時也要留意一些接口的不一致,比如string大量使用index作為接口,而vector等其他容器則是用iterator作為接口的)。

讀書筆記_Effective C++_條款一:將C++視為一個語言聯邦