指向动态存储的C++静态存储指针



如果我在静态存储中有一个自动分配的指针

int* p[2];

我做:

int i;
p[0] = &i;
p[1] = new int;

这为我提供了一个静态存储中自动分配的指针数组,指向静态存储中的int和动态存储中的未命名int。

这是正确的、良好的做法吗?由于p[1]指向动态存储中的地址,我是否必须删除它?

如果你new某个东西,你必须delete它。总是。

除此之外,是的,您可以将指针存储在同一个数组中,这些指针指向具有不同生存期的数据。这是否是一个好主意取决于你在做什么;不过,很可能不是。

最新更新