用this
參數調用析構函數中的某個函數是否有效? 函數不存儲指針,但假定爲全功能對象。在析構函數中使用「this」
回答
this
在析構函數中仍然有效。
但是,您需要記住虛擬功能不再適用正如您可能預計一旦對象被銷燬一樣;見例如Never Call Virtual Functions during Construction or Destruction。本質上,對象的動態類型在每個析構函數完成時都會被修改。
他們**做**好好工作。只是正確工作職能的定義是不同的。我的意思是 - 他們按設計工作。 – valdo
@valdo:公平點!我修改了我的答案...... –
或者無論如何,委員會對「正常工作」的定義在實踐中並不是非常有用。我確信有可能發明一些用例,在這種用例中你想調用基本ctor/dtor中虛擬函數的基類版本,並且委員會有這樣的想法。否則,他們會給予執行更多的自由,並且只是說撥打電話是UB。這可能會更有效,因爲實現不必隨着每個dtor完成而不斷調整vtable指針(或等價物)。事實上,我們支付我們不使用的東西。 –
總之一句話:是的。
在D`TOR
- 1. 在構造函數中使用'this'
- 2. 在構造函數中使用this()
- 3. PHP:在構造函數中使用$ this
- 4. 在函數中使用'$(this)'
- 5. 在c#中析構函數的使用?
- 6. 解釋程序:在構造函數中使用'this()'參數
- 7. jQuery在構造函數中打破「this」?
- 8. 在jquery函數參數中使用'this'
- 9. Javascript - 在函數內使用$(this)函數?
- 10. 使用析構函數
- 11. 使用Qt析構函數
- 12. 使用RInside析構函數
- 13. 使用self(this)在構造函數中調用構造方法 - 參數
- 14. 在構造函數中使用'this'關鍵字
- 15. 在Java構造函數中使用'this'關鍵字
- 16. 在基類構造函數中使用`this`是否有效?
- 17. 如何使用AutoMapper在構造函數中映射爲「this」
- 18. 在Javascript構造函數中使用'this'來訪問屬性
- 19. 在基礎構造函數中使用'this'?
- 20. 在構造函數中使用「this」有什麼意義?
- 21. 在函數中引用(this)
- 22. 在嵌套函數中使用'this'
- 23. 如何在jquery函數中使用$(this)?
- 24. 在函數中使用'this'的jQuery
- 25. 在onclick函數中使用「this」
- 26. 在Node.js的函數中使用「this」
- 27. C++中構造函數和析構函數的內聯使用
- 28. this in javascript構造函數
- 29. java構造函數:this(。)
- 30. 在析構函數
中使用
this
完全有效直到DTOR的最後一行爲止該對象是完全有效的。當然,如果DTOR本身撕下對象的部分(例如,刪除ptr等等),那麼你正在拍攝自己的腳,但完全是你的代碼,而不是cpler產生的東西...... –