條款一:視C++為一個語言聯邦
View C++ as a federation of languages
- 一開始C++隻是在C加上一些面向對象特性。C++最初的名稱就是 C with Classes。
- 如今的C++已經是一個多重泛型程式設計語言,同時支援過程形式(procedural),函數形式(functional),泛型形式(generic),元程式設計形式(metaprogramming)的語言。
- 了解C++語言最簡單的方式就是将其視為一個有關次語言組成的聯邦而不是一個簡單語言。
- C++主要次語言:
- C:說到底C++依然以C為基礎。其語言主要設計内容均來自C,相比C多了模闆(template),異常處理(exception),重載(overloading)等。
- Object-Oriented C++ :C++常也被稱為帶類的C。
- Template C++ :這是C++泛型程式設計部分。
- STL:STL是一個template程式庫,包括容器,疊代器,算法以及函數對象。
請記住
C++高效程式設計守則視情況而變化,取決于你使用的C++的哪一部分。