初始化列表中初始化顺序和它们在类中声明的顺序保持一致---读书笔记
2010-12-14 21:31
316 查看
随手写的程序:
输出结果为:
a为一个极大负数,b为1
修改下代码:
输出结果为:
a为1,b为1
两段代码唯一不同在于:int a,b修改成了int b,a;也就是前者先执行a(b)再执行b(1),后者先执行b(1),再执行a(b)
请记住一条准则:初始化列表中初始化顺序和它们在类中声明的顺序保持一致
class A { public: A():a(b),b(1) { cout<<a<<endl ; cout<<b<<endl ; } private: int a,b; }; int _tmain(int argc, _TCHAR* argv[]) { A a ; system("pause"); return 0; }
输出结果为:
a为一个极大负数,b为1
修改下代码:
class A { public: A():a(b),b(1) { cout<<a<<endl ; cout<<b<<endl ; } private: int b,a; }; int _tmain(int argc, _TCHAR* argv[]) { A a ; system("pause"); return 0; }
输出结果为:
a为1,b为1
两段代码唯一不同在于:int a,b修改成了int b,a;也就是前者先执行a(b)再执行b(1),后者先执行b(1),再执行a(b)
请记住一条准则:初始化列表中初始化顺序和它们在类中声明的顺序保持一致
相关文章推荐
- 11.c++-初始化列表中初始化顺序和它们在类中声明的顺序保持一致
- Enter C++让类成员字段在初始化列表中出现的顺序和他们被申明的顺序保持一致
- 条款十三: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 构造函数初始化列表中成员列出顺序要和它们在类中声明顺序相同
- 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 条款 13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- Effective c++ 条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- effective C++笔记之条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 初始化列表和声明的顺序之间的关系
- 类的成员变量 声明顺序 决定 初始化顺序(构造函数初始化列表不影响)
- 在初始化列表中,成员变量的初始化顺序是其在类中声明顺序,而非列表中的顺序。
- 成员变量的初始化顺序与变量在类型中的申明顺序相同,而与它们在构造函数的初始化列表中的顺序无关
- 初始化列表的初始化变量顺序是根据成员变量的声明顺序来执行的
- 写程序说明C++中成员函数的初始化顺序只跟在类中的声明顺序有关, 而跟初始化列表中的顺序无关(笔试考过)
- c++类中变量初始化顺序与声明顺数一致