条款01:视C++为一个语言联邦
C++并不是一个带有一组守则的一体语言;它是由四个次语言组成的联邦政府,每个次语言都有自己的规约。记住这四种次语言你就会发现C++容易理解得多了。
1 C语言
说到底C++是以C为基础的,C++的块(block)、语句、预处理器、内置数据类型、数组、指针等统统来自于C,并严格执行C的规章制度。
2 C++的面向对象
classes(包括构造函数,析构函数),封装,继承,多态,virtual函数(动态绑定)。。等等。这一部分是面向对象设计之古典守则在C++上的最直接实施。
3 C++模板
这是C++泛型编程的部分。这部分的相关规则很少与C++主流编程相互影响。(这部分可以单独考虑)
4 STL
STL是模板程序库。他对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调。STL有自己特殊的办事方式。当你伙同STL一起工作,就必须遵守它的规约。
C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。