View C++ as a federation of languages
将C++视为由四个次语言组成的语言联邦:
- C:
C++是以C为基础的,包括区块(blocks)、语句(statements)、预处理(preprocessor)、内置数据类型(built-in data type)、数组(array)、指针(pointers)等都是来自C。 - Object-Oriented C++:
也就是C with Classes所诉求的classes(包括构造和析构函数)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、virtual函数(动态绑定)等面向对象设计。 - Template C++:
C++的泛型编程。 - STL(standard template library):
标准模板库,对容器(containers)、迭代器(iterator)、算法(algorithms)、以及函数对象(function objects)的约束有极佳的紧密配合与协调。
请记住:
- C++高效编程守则视情况而变化,取决于你使用C++的那一部分。