1.尽量使用一个构造函数。
原因:如果使用多个构造函数,可能导致在有很多个实例变量的时候没有在所有的构造函数中初始化,从而造成错误!
可以用默认值的方法来达到提供默认构造函数。
2.在考虑跨平台时要尽量不使用int,unsigned系列的类型,因为不同平台对它们所占的字节数不一定相同。
3.技巧:使用
do
{
}while(0);
这样就可以在合适的时候break。然后在while后面做最后的处理。
class A
{
.....
};
4.对于数组初始化时可以用
A arr[10]={0};
或者memset(arr,0,sizeof(arr));
而尽量不要使用memset(arr,0,10*sizeof(A));
在用第二种方法memset(arr,0,10*sizeof(A))时在A的名称变化或者数组大小变化的时候都要修改。
但要特别注意
如果 A *a = new A[10];
就一定要用memset(a,0,10*sizeof(A));因为a是指针,所以sizeof(a)为4。