2015-03-30 69 views
1
class Object { 
     int val; 
}; 

int main() { 
     Object Obj; 
     Obj = Object(); 
     return 0; 
} 

在main函數的第2行之後,即在「obj = Object()」之後,假設在編譯過程中沒有使用優化的情況下,main函數的堆棧幀中將存在多少個對象?堆棧上有多少個對象?

+8

[無](http://goo.gl/I5vn8z) – chris 2015-03-30 19:19:40

+0

你爲什麼這麼說? – UnSat 2015-03-30 19:21:50

+0

@ user114754你看過裝配了嗎? – Borgleader 2015-03-30 19:22:33

回答

0

由於只有一個變量,堆棧上只有一個對象。

+1

對於所有的時間? – 2015-03-30 20:30:59

+0

是的。變量意味着堆棧上的空間。 C++ oposite to managed languages不會在作用域結束之前釋放堆棧空間 – Aik 2015-03-30 20:35:07

+1

創建的臨時對象怎麼樣? – 2015-03-30 20:57:52