Я следующий C++ код:C++ указатель Расположение объекта
struct B {
int c;
int d;
}
struct A {
int a;
B x;
}
int main() {
A * ptr = new A;
ptr->a = 1;
ptr->x.c = 2;
ptr->x.d = 23;
// a lot of lines of codes later ...
// Will the following values be guranteed?
cout << ptr->x.c << endl;
cout << ptr->x.d << endl;
}
После объявления нового «STRUCT А» в куче будет ptr-> х будет объявлена в стеке или в куче? Если я хочу, чтобы x находился в куче, я должен объявить свойство x в качестве указателя (и, следовательно, инициализировать его «новым»)?