首页 > 代码库 > 条款01:View C++ as a federation of languages.

条款01:View C++ as a federation of languages.

今天的C++已经是个多重范型编程语言(multiparadigm programming language),一
个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、
泛型形式(generic)、元编程形式(metaprogramming)的语言。
最简单的方法是将C++视为一个由相关次语言(sublanguage)组成的联邦而非单一
语言。幸运的是,次语言总共有四个:
• C。
• Object-Oriented C++。包括:class(包括构造函数和析构函数)、封装(encapsulation)、
继承(inheritance)、多态(polymorphism)、virtual 函数(动态绑定)、... ... 等等。
• Template C++。这是C++ 的泛型编程(generic programming)部分。
• STL。STL 是个template 程序库,但它是非常特殊的一个。它对容器(containers)、
迭代器(iterators)、算法(algorithms)以及函数对象(function objects)的规约有极
佳的紧密配合与协调,然而templates 及程序库也可以其他想法建置出来。