<分区>
例如假设这个 struct
:
struct Point{
int x;
int y;
};
然后我声明了一个指向这个结构的指针:
Point* p;
p
的 x 和 y 在哪里,堆还是栈?
类也是这样吗?
<分区>
例如假设这个 struct
:
struct Point{
int x;
int y;
};
然后我声明了一个指向这个结构的指针:
Point* p;
p
的 x 和 y 在哪里,堆还是栈?
类也是这样吗?
最佳答案
where're
x
andy
of thatp
, heap or stack?
无处可去。您还没有创建一个对象,只是一个可以指向一个对象的指针。
如果您在堆栈上创建一个自动对象,那么它将位于:
Point point;
Point * p = &point;
如果您在堆上创建一个动态对象(官方称为自由存储),那么它将位于:
Point * p = new Point; // Don't forget to delete it.
Is that the same for classes?
是的; struct
是一个类。
关于c++ - 指向非指针变量结构的指针。这些变量,堆或堆栈在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185501/