1 C++已经是个多重范型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional )、泛型形式(generic)、元编程形式(metaprogramming )的语言。
2 C++为次语言(sublanguage)联邦
2.1 C
区块(blocks)、语句(statements )、预处理器(preprocessor)、内置数据类型(built-in data加es)、数组(arrays )、指针(pointers)等统统来自C。
不同点在于C没有模板(templates ),没有异常(exceptions),没有重载(overloading ) 。
2.2 Object-Oriented C++
classes(包括构造函数和析构函数),封装(encapsulation )、继承(inheritance )、多态( polymorphism )、virtual函数(动态绑定)等等。
2. 3 Template C++
这是C++的泛型编程(generic programming)部分,也是大多数程序员经验最少的部分。崭新的编程范型(programming paradigm),也就是所谓的template metaprogramming <TMP,模板元编程)。
2.4 STL
STL是个template程序库,它对容器(containers )、迭代器(iterators )、算法(algorithms)以及函数对象(function objects)的规约有极佳的紧密配合与协调。
3 结论
1)C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。