Effective C++ 第一章 理解&总结

1.视C++为一个语言联邦

C++有四个次语言组,按照高效编程守则,应选择的参数传递方式
1. C. pass-by-value
2. Object-Oriented C ++.pass-by-reference-to-const(因为有用户自己定义的构造函数和析构函数)
3. Template C++.pass-by-reference-to-const(泛型编程甚至不知道所处理的对象的类型)
4. STL. pass-by-value(因为迭代器和函数对象都是在C指针之上塑造出来的)

2.尽量用const,enum,inline替换#define

即以编译器替换预处理器。
对于单纯的常量,用const和enum代替#define.
对于形似函数的宏,使用inline函数替换#define.

3.尽可能使用const

const可以施加于:
对象
函数参数(如输入参数的const引用)
函数返回值
成员函数后加const,表明不改变成员变量。

注意修饰指针的时候,到底是指针是const,还是指针指向的data是const
如const char* p = ……data是const
char* const p = ……指针是const

4.确定对象被使用前先被初始化

你可能感兴趣的:(C++)