3
A
回答
3
Ehm ...不要自己調用析構函數,只有當您分配對象所在的空間時纔會使用新的位置。
也就是說,不同的是,release
是有效的,並使對象處於有效狀態,並有可能接受另一個指針。
~auto_ptr
將破壞對象並使其處於無效狀態,在調用析構函數後使用它是未定義的行爲。
8
的auto_ptr ::釋放()
設置的auto_ptr內部指針爲空指針(它指向沒有對象,其指示),而不破壞當前由auto_ptr的指向該對象。它將內部指針的值設置爲null之前返回該值。 在致電release()
之後,auto_ptr
仍然可以指向另一個對象。
的auto_ptr ::〜auto_ptr的()
解除分配存儲器的塊中的對象「指向」使用刪除和自毀的對象。\調用~auto_ptr()
的auto_ptr
被破壞,並且不應被進一步使用後。
相關問題
- 1. 智能指針(auto_ptr的)行爲
- 2. 指針地址之間的差異
- 3. 智能指針和構造異常
- 4. 智能指針和異常處理
- 5. Go和C++中指針和引用之間的邏輯差異?
- 6. 指針和智能指針的區別
- 7. int * p和int ** p之間的指針語法差異指針C++
- 8. 指針訪問和數組訪問之間的值差異
- 9. Boost智能指針和std智能指針有什麼區別?
- 10. 指針差異和size_t
- 11. 數組和智能指針
- 12. 智能指針和dynamic_cast
- 13. OpenMP和智能指針
- 14. 智能指針和數組
- 15. GMP和智能指針
- 16. 是否有可能在文件之間進行智能差異?
- 17. jconn2和jconn3之間的性能差異
- 18. MeteorJS - 功能之間的差異()和()=>
- 19. .exists之間的性能差異?和.where.present?
- 20. drawBitmap和createScaledBitmap之間的性能差異
- 21. to_char和to_date之間的性能差異
- 22. Swazoo和Komanche之間的性能差異?
- 23. 間接多層次的智能指針
- 24. C++智能指針
- 25. 與智能指針
- 26. Boost智能指針
- 27. /和/ **之間的差異
- 28. PHP之間的差異()和[]
- 29. '//'和'///'之間的C++差異
- 30. VBA:&和+之間的差異