将C++视为一个由相关语言组成的联邦并非单一语言。
C++主要的次语言:
1. C
C++仍是以C为基础的。
2. Object-Oriented C++
C++面向对象部分。
3. Template C++
C++的泛型编程部分
4. STL
STL是个template程序库
C高效编程守则视状况而变化,取决于你使用C++的那个次部分。
例如:
对内置(C-like)类型而言,pass-by-value 通常比pass-by-reference 高效
当你从C part of C++ 移往 Object-Oriented C++,由于用户自定义构造函数和析构函数的存在,pass-by-reference-to-const 往往更好。
运用Template C++时,不知道所处理的对象的数据类型。
使用STL时,迭代器和函数对象都是在C指针之上塑造出来的,对迭代器和函数对象而言,C的pass-by-value守则再次适用。