条款01:将C++视为一个语言联邦
今天的C++已经是一个多重泛型编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。
- C:。C++以C语言为基础。区块、语句、预处理器、内置数据类型、数组、指针等通通来自C。C语言的局限:没有模板、没有异常处理、没有重载…
- Object-Oriented C.。包括Classes(包括构造函数和析构函数)、封装、继承、多态、虚函数(动态绑定)。
- Template C++。模板元编程。
- STL。STL是一个template程序库。内含容器、迭代器、算法和函数对象。
PS:在C层次编程,对于内置类型,值传递不引用传递更加高效。而在C with class部分由于构造函数和析构函数的存在,pass-by-refrence-to-const其实更加高效。在Template C++ 中由于底层是C指针,所以又可以采用C语言的准则。