条款01:视C++为一个语言联邦
今天的C++已经是个多重范型编程语言(
multiparaigm programming language
), 它同时支持
- 面向过程编程(
procedural
)- 函数式编程(
functional
)- 面向对象编程(
object-oriented
)- 泛型编程(
generic
)- 元编程形式(
metaprogramming
).
C
这一部分包括
- 区块(
blocks
)- 语句(
statements
)- 预处理器(
preprocessor
)- 内置数据类型(
built-in data types
)- 数组(
arrays
)- 指针(
pointers
)
Object-Oriented C++
这一部分包括,
- 类(
classes
)- 封装(
encapsulation
)- 继承(
inheritance
)- 多态(
polymorphism
)- 虚函数(
动态绑定
)
Template C++
这一部分属于C++的泛型编程(
generic programming
).
STL
STL是一个
template
程序库. 它包括
- 容器(
container
)- 迭代器(
iterators
)- 算法(
algorithms
)- 函数对象(
function objects
).
总结
C++不是带有一组守则的一体语言, 它是从四个次语言组成的联邦政府, 每个次语言有自己的一组守则.