首页 > 代码库 > c++中关于初始化型参列表的一些问题
c++中关于初始化型参列表的一些问题
1 /* 2 1.成员是按照他们在类中出现的顺序进行初始化的,而不是按照他们在初始化列表出现的顺序初始化的! 3 一个好的习惯是,按照成员定义的顺序进行初始化。 4 2.数组成员在初始化型参列表中不正确 5 */ 6 #include<iostream> 7 #include<cstdio> 8 #include<cstring> 9 #include<algorithm>10 11 using namespace std;12 13 14 struct node{15 int i, j;16 int num[12]; 17 //node(int x) : j(x), i(j){}//错误的初始化啊 18 /*19 这里i的值是未定义的因为虽然j在初始化列表里面出现在i前面,但是i先于j定义,所以先初始化i,20 而i由j初始化,此时j尚未初始化,所以导致i的值未定义, 然后才对 j 进行初始化。21 */22 //node(): num[1](1), num[2](3){}//错误的书写 23 node(int x) : i(x), j(i){} 24 void out(){25 cout<<i<<" "<<j<<endl;26 }27 }; 28 29 int main(){30 node a(4);31 a.out();32 return 0;33 }
c++中关于初始化型参列表的一些问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。