Posted on 2010-09-03 07:06
silentneil 阅读(253)
评论(0) 编辑 收藏 引用 所属分类:
C/C++
将文件间的编译依赖性降至最低:
在头文件中用指针和引用来代替实体
先声明需要的类,不要再头文件中再引用其他的头文件,让用户来引用
赋值操作函数
缺省的赋值操作符会执行成员的逐个赋值操作,对指针来说是逐位拷贝,如b=a这样会导致2个问题:
1)b曾指向的内存永远不会被删除,即永远丢失;2)a和b指向同一个空间,只要其中一个被删除,另一个也将被删除。
初始化列表
尽量使用初始化而不要在构造函数里赋值,因为对const和引用数据成员只能被初始化,不能被赋值
另外,初始化列表中成员列出的顺序和它们在类中声明的顺序相同,而不是和初始化列表中的顺序相同
operator=赋值函数
1)给所有数据成员赋值,2)检查给自己赋值的情况(*this==ths)
为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符
尽量用“传引用”而不用“传值”
必须返回一个对象时不要试图返回一个引用
不要重新定义继承而来的非虚函数
编译器为类生成的函数:一个缺省构造函数,一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符