1.盡量使用一個構(gòu)造函數(shù)。
原因:如果使用多個構(gòu)造函數(shù),可能導(dǎo)致在有很多個實(shí)例變量的時候沒有在所有的構(gòu)造函數(shù)中初始化,從而造成錯誤!
可以用默認(rèn)值的方法來達(dá)到提供默認(rèn)構(gòu)造函數(shù)。
2.在考慮跨平臺時要盡量不使用int,unsigned系列的類型,因?yàn)椴煌脚_對它們所占的字節(jié)數(shù)不一定相同。
3.技巧:使用
do
{
}while(0);
這樣就可以在合適的時候break。然后在while后面做最后的處理。
class A
{
.....
};
4.對于數(shù)組初始化時可以用
A arr[10]={0};
或者memset(arr,0,sizeof(arr));
而盡量不要使用memset(arr,0,10*sizeof(A));
在用第二種方法memset(arr,0,10*sizeof(A))時在A的名稱變化或者數(shù)組大小變化的時候都要修改。
但要特別注意
如果 A *a = new A[10];
就一定要用memset(a,0,10*sizeof(A));因?yàn)閍是指針,所以sizeof(a)為4。