如果我在静态存储中有一个自动分配的指针
int* p[2];
我做:
int i;
p[0] = &i;
p[1] = new int;
这为我提供了一个静态存储中自动分配的指针数组,指向静态存储中的int和动态存储中的未命名int。
这是正确的、良好的做法吗?由于p[1]
指向动态存储中的地址,我是否必须删除它?
如果你new
某个东西,你必须delete
它。总是。
除此之外,是的,您可以将指针存储在同一个数组中,这些指针指向具有不同生存期的数据。这是否是一个好主意取决于你在做什么;不过,很可能不是。