c++ 进阶学习手册
effectice c++
全部条款
条款1: c++为一个语言联邦
这条条款
- preocedural
- object oriented
- functional
- generic
- metaprogramming
- stl
条款2: 用const, enum, inline替换#define
在遇到常量的时候用const替换define
在遇到宏函数时用inline替换define
inline结合template
条款3: 尽可能使用const
const可以修饰变量, 函数返回值, 函数参数, 成员函数本身
const对象只能调用 const成员函数
两个成员如果一个是const, 一个不是, 那么同名, 同参可以视为重载
const成员函数能修改static成员变量, 不是不能修改任何变量, 不能调用任何非const函数
const static成员函数是不合法的, 因为const成员函数有const this指针, 但是static成员函数不可以有, 二者矛盾了
一个变量被定义为Mutable那么它就可以被const成员函数修改
c++的四