【发布时间】:2023-03-07 09:53:01
【问题描述】:
在以下情况下,每个成员都有不同的名称或实体,为什么他们的地址相同?
struct B { int x; };
struct A { B b; };
int main()
{
A obj;
cout << &obj.b.x << endl;
cout << &obj.b << endl;
cout << &obj << endl;
}
【问题讨论】:
-
可能他们在同一班
-
因为你的内存看起来是这样的 -
classes/structs 是一个抽象概念,编译器可以优化structs 出来。 (这不是正确的答案,但值得考虑。)
标签: c++