C++ 是个多重泛型编程语言,一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。
将 C++ 视为一个由相关语言组成的联邦而非单一语言,在其某个次语言中,各种守则与通例都倾向简单、直观易懂、并且容易记住。为了理解 C++ 必须认识其主要的次语言,总共只有四个:
1. C。说到底C++ 仍是以 C 为基础。区块、语句、预处理、内置数据类型、
数组、指针等统统来自C。
2. Object-Oriented C++。这部分也就是 C with Classes 所诉求的:
class,封装、继承、多态、virtual函数(动态绑定)等等
3. Template C++。这是 C++ 的泛型编程部分。
4. STL。STL是个 template 程序库。
它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调