条款01:视C++为一个语言联邦
View C++ as a federation of languages
- 一开始C++只是在C加上一些面向对象特性。C++最初的名称就是 C with Classes。
- 如今的C++已经是一个多重泛型编程语言,同时支持过程形式(procedural),函数形式(functional),泛型形式(generic),元编程形式(metaprogramming)的语言。
- 理解C++语言最简单的方式就是将其视为一个有关次语言组成的联邦而不是一个简单语言。
- C++主要次语言:
- C:说到底C++依然以C为基础。其语言主要设计内容均来自C,相比C多了模板(template),异常处理(exception),重载(overloading)等。
- Object-Oriented C++ :C++常也被称为带类的C。
- Template C++ :这是C++泛型编程部分。
- STL:STL是一个template程序库,包括容器,迭代器,算法以及函数对象。
请记住
C++高效编程守则视情况而变化,取决于你使用的C++的哪一部分。