看板 EE_DSnP 關於我們 聯絡資訊
※ 引述《popo4231 (小泰)》之銘言: : 標題: [問題] 請問for,while loop再continue的時候算leave the scope嗎 : 時間: Sat Dec 8 18:42:26 2007 : : 如題 : 我想知道是否loop中的automatic variable會一再的被construct以及destruct? : 或是loop continue仍然算處於原本的scope的狀態 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.112.241.177 : → Knossos:跳出迴圈時就會destruct,進入迴圈時會重新construct 12/08 20:34 : → Knossos:只是由於中間不會有新的東西,所以記憶體分配常常會相同 12/08 20:35 : → Knossos:所以就會有好像沒有被destruct的現象,剛好如此囉 12/08 20:35 See this program: ================= class A { public: A() { cout << "Constructor" << endl; } ~A() { cout << "Destructor" << endl; } }; int main() { for (int i = 0; i < 3; i++) { A a; } } ================= The output is: Constructor Destructor Constructor Destructor Constructor Destructor -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.134.54
Knossos:看不懂欸... ~A()是什麼? 12/09 16:35
ric2k1:~A() 是 class destructor, 相反於 class constructor. 12/09 18:18
ric2k1:曾經在 lecture #2 p12 短暫出現過, 下個禮拜會教 12/09 18:19