View C++ as a federation of languages

将C++视为由四个次语言组成的语言联邦:

  1. C:
    C++是以C为基础的,包括区块(blocks)、语句(statements)、预处理(preprocessor)、内置数据类型(built-in data type)、数组(array)、指针(pointers)等都是来自C。
  2. Object-Oriented C++:
    也就是C with Classes所诉求的classes(包括构造和析构函数)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、virtual函数(动态绑定)等面向对象设计。
  3. Template C++:
    C++的泛型编程。
  4. STL(standard template library):
    标准模板库,对容器(containers)、迭代器(iterator)、算法(algorithms)、以及函数对象(function objects)的约束有极佳的紧密配合与协调。

请记住:

  • C++高效编程守则视情况而变化,取决于你使用C++的那一部分。