有三種內存:靜態內存(靜態變量/成員,全局變量),堆棧和堆。C++中的全局動態Allcoated變量
全局變量的定義是在任何函數之外定義的變量。
我想了解一下下面的代碼,
#include<iostream>
int *test=new int[5]();
int main(){
return 0;
}
它可以被編譯和運行。但是我想知道的是,該數組在哪裏分配?它是堆上的全局變量嗎?
C++ Primer說,當程序結束時,全局變量將被釋放。我的問題是,這是否會發生,即使他們在堆上?
見http://stackoverflow.com/questions/2204608/does-c-call-destructors-for-global-and-class-static-variables – 2015-04-04 23:20:16