首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初始化列表,该怎么解决

2012-04-06 
初始化列表foo(string x, string y):xval(x),yval(y){}和foo(string x, string y){xval(x)yval(y)}等价

初始化列表
foo(string x, string y):xval(x),yval(y){}

foo(string x, string y)
{
  xval(x); 
  yval(y);
}
等价吗


[解决办法]
1.两种方法不等价
理由如下:
未被显示初始化的成员调用默认构造函数初始化,也就是说第二种方法xval和yval在构造函数内部初始化之前已经调用默认构造函数初始化了,所以方法一更高效.
另外const成员和引用必须在初始化列表中初始化
2.第二种写法也可以,babyvox1999 可以参阅下标准库string类


[解决办法]
楼主啊,你代码都不编译一下就跑过来混,这个不好吧。

热点排行