簡體   English   中英

銷毀類的非指針成員

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM