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;
} 为什么呢? 因为成员变量地址是连续的, 故连续初始化。

本文深入解析了C++中成员变量初始化顺序的问题,通过具体实例解释了成员变量地址连续性导致的初始化顺序,帮助开发者理解并解决相关困惑。
772

被折叠的 条评论
为什么被折叠?



