您的位置:首页 > 其它

在编写构造函数时建议使用构造函数初始化列表

2012-07-11 16:05 253 查看
c++中构造函数初始化式有两种方式:

使用构造函数初始化列表进行初始化
省略初始化列表并在构造函数体内对数据成员进行赋值达到初始化的目的

除了两个例外,对非类类型的数据成员进行赋值或者使用初始化列表进行初始化在性能和结果上都是等价的。

例如:

class ConstRef{
public :
ConstRef(int ii);
private :
int i;
const int ci;
int & ri;
}
ConstRef::ConstRef(int ii)
{
i=ii;
ci=ii;//error
ri=ii;//error
}
记住,可以初始化const对象或引用类型的对象,但是不能对他们进行赋值。

正确的构造函数的编写方式是:

ConstRef::ConstRef(int ii):i(ii),ci(ii),ri(ii) { }

所以在此总结:在编写构造函数的时候尽量使用构造函数初始化列表来进行初始化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: