作者ric2k1 (Ric)
看板EE_DSnP
標題Re: [問題] 請問for,while loop再continue的時候算 …
時間Sat Dec 8 23:43:48 2007
※ 引述《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
1F:→ Knossos:看不懂欸... ~A()是什麼? 12/09 16:35
2F:→ ric2k1:~A() 是 class destructor, 相反於 class constructor. 12/09 18:18
3F:→ ric2k1:曾經在 lecture #2 p12 短暫出現過, 下個禮拜會教 12/09 18:19