写程序说明C++中成员函数的初始化顺序只跟在类中的声明顺序有关, 而跟初始化列表中的顺序无关(笔试考过)
2015-01-02 23:38
661 查看
C++ 中成员变量的初始化顺序的问题, 经常碰到, 在此, 我们再来复习一遍:
#include <iostream> using namespace std; class A { public: int s; int t; A():t(1), s(t + 2){} }; int main() { A a; cout << a.s << endl; // -858993458, 不是3 cout << a.t << endl; // 1 return 0; }为什么呢? 因为成员变量地址是连续的, 故连续初始化。
相关文章推荐
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- C++成员变量的初始化顺序如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。
- effective C++笔记之条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 在初始化列表中,成员变量的初始化顺序是其在类中声明顺序,而非列表中的顺序。
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 构造函数初始化列表中成员列出顺序要和它们在类中声明顺序相同
- 条款十三: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- C++初始化参数列表对成员函数初始化
- C++ 与“类”有关的注意事项总结(十一): 成员初始化列表(★)
- c++ private 类成员初始化顺序测试程序
- 初始化列表的初始化变量顺序是根据成员变量的声明顺序来执行的
- C++的6大成员函数,构造函数(初始化列表),析构函数,拷贝构造函数,运算符重载,const成员函数
- Enter C++让类成员字段在初始化列表中出现的顺序和他们被申明的顺序保持一致
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- 成员变量的初始化顺序与变量在类型中的申明顺序相同,而与它们在构造函数的初始化列表中的顺序无关
- 条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
- C++ - 类的成员变量 声明顺序 与 初始化顺序 相同
- C++成员变量初始化列表和变量初始化顺序
- 类的成员变量 声明顺序 决定 初始化顺序(构造函数初始化列表不影响)