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 }

 

上一篇:app开发学习需要经历哪些流程


下一篇:PHP $_SERVER变量