视C++为一个语言联邦
-
C++最初的名字为 C with Classes。
-
今天的C++已经是个多重范型编程语言
同时支持- 过程形式(procedural)
- 面向对象(object-oriented)
- 函数形式(functional)
- 泛型形式(generic)
- 元编程形式(metaprogramming)
-
包含次语言
-
C
说到底,C++仍然以C为基础,区块(blocks),语句(statements),预处理器(preprocessor),内置数据类型(built-in data type),数组(arrays),指针(pointers)等都来自于C。
(Moota:所以完全可以把C++当作C来用)
当你用C++时,就会发现C语言的局限:没有模板,没有异常,没有重载… -
Object-Oriented C++
包括 构造函数,析构函数,封装,继承,多态。虚函数… -
Template C++
这是关于C++的泛型编程。 -
STL
是个template的程序库。
-
-
技巧
- 对于来自C的内置数据类型,使用pass-by-value比pass-by-reference高效,但是对于类对于自定义的数据类型,使用pass-by-reference-to-const往往更好。