-2
我不明白什麼是在內存中發生這種情況:在堆棧上創建對象時分配的內存在哪裏?
int main(int argc, char** argv) {
Ninja n; //create a object on the stack?
Ninja * n = new Ninja; //create a pointer the the object on the heap?
return 0;
}
的區別是什麼?
是的,第一個在堆棧中,第二個在堆中 – Martin
事先已知的變量和對象被放到堆棧中。在執行期間動態創建的變量和對象放在堆上。 – kometen
所以這實際上是運行時(在執行期間在堆上創建一個對象),並編譯時間在行動? –