C。说到底C++仍是以C为基础。区块、语句、预处理器、内置数据类型、数组、指针等统统来自C。许多时候C++对问题的解法不过就是较高级的C解法,但当你以C++内的C成分工作时,高效编程守则映照出C语言的局限:没有模版,没有异常,没有重载。
Object-Oriented C++。这部分也就是C with Classes所诉求的:classes(包括构造函数和析构函数),封装、继承、多态、virutal函数(动态绑定)等等。这一部分是面向对象设计之古典守则在C++上的最直接实施。
Template C++。这是C++的泛型编程部分,也是大多数程序员经验最少的部分。
STL。STL是个template程序库,看名称也知道,但它是非常特殊的一个。它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调然而templates及程序库也可以其他想法建置出来。
C++高效守则视状况而变化,取决于你使用C++的哪一部分。
感想:这并不是我第一次发现C++包容万千。以前的理解:C++有C的高效;有JAVA的面向对象;更有它独特的template。这里看到后,前人也确实已经总结出来。