读书人

大局指针或者静态指针分配的资源的释放

发布时间: 2012-08-26 16:48:05 作者: rapoo

全局指针或者静态指针分配的资源的释放
这里以静态指针来说明问题。
代码1:
{
static int *p = 0;
p = new int;
}
代码中的静态指针p分配资源后没有释放,而且其在程序运行期间一直是Reachable。那么程序结束后p所指向的资源会被系统回收么?

代码2:
{
static int *p = 0;
for (int i=0; i<10; i++)
p = new int;
}
这段代码分配的10个资源中,只有最后一个在运行期间是Reachable。那么程序结束后这10个资源都会被系统回收,还是只有最后一个才会被系统回收?

[解决办法]
程序结束后,所有进程相关资源都会被回收。
[解决办法]
西看操作系的,如果是在 WINDOWS 中,用程序是回收的(WIN程序不清楚是否回收),片的,不保障回收的.c/C++代,是要求程序自己回收,而不是把回收交操作系。

[解决办法]
进程退出后,相关内存资源是会释放掉。

读书人网 >C++ Builder

热点推荐