[英]Destruction of non-pointer members of a class
何時非指針類的成員被破壞? 例:
class foo {
private:
int a;
public:
foo(int sa):a(sa){}
~foo(){}//does anything need to be done here?
};
{
foo(10);
}//the destructor is called
應該在析構函數內部做任何事情嗎? 謝謝!
不,沒事 析構函數中的任何代碼完成后, a
將被銷毀。 在這種情況下,您甚至不需要聲明析構函數。 編譯器將自行執行正確的操作。
在執行對象的析構函數后,對象的內容將按照其出現在類定義中的順序相反的順序被銷毀。
在包含對象的析構函數完成之后,將破壞對象的非指針成員。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.