将C++视为相关语言组成的联邦而非单一的语言。各个次语言内部各种守则和通例倾向简单,通俗易懂并且容易记住,当时当从一个次语言移到另一个次语言的时候,守则可能改变。主要的次语言有四个:
C:C++仍以C为基础,区块、语句、预处理、内置数据类型、数组、指针等都来自于C。
Object-oriented C++:类、封装、继承、多态、虚(virtual)函数、动态绑定等等。
Template C++:C++的泛型编程部分,模版威力强大,带来了崭新的编程范型template metaprogramming(TMP,模版元编程)。
STL:它对容器、迭代器、算法以及函数对象的归约有极佳的紧密配合和协调。
C++的高效编程守则要根据次语言的切换而变换。