C++ 中的类成员是否保证是连续的?
我已经尝试与几乎所有流行的C ++编译器运行下面的代码,以及所有它们的产率的结果如图4所示,它是变量y的相对地址。这是巧合,还是语言规范保证是这种方式?编译器是否有可能不会使成员 x 和 y 与类基本地址相邻/彼此相邻?
请注意,此线程不回答此问题。
#include <iostream>
using namespace std;
class A {
public:
void f(){
cout << &(this->y) << endl;
}
int x, y;
};
int main(int argc, const char* argv[])
{
A *a = 0;
a->f();
return 0;
}
Run Code Online (Sandbox Code Playgroud)