【发布时间】:2015-06-09 17:35:01
【问题描述】:
内存分为三种:静态内存(静态变量/成员、全局变量)、栈和堆。
全局变量的定义是在任何函数之外定义的变量。
我想知道下面的代码,
#include<iostream>
int *test=new int[5]();
int main(){
return 0;
}
它可以被编译和运行。但我想知道的是,该数组分配在哪里?是堆上的全局变量吗?
C++ Primer 说全局变量将在程序结束时被释放。我的问题是,即使它们在堆上也会发生这种情况吗?
【问题讨论】:
标签: c++ memory-leaks heap-memory dynamic-memory-allocation static-memory-allocation