2
A
回答
2
大多數堆實現不允許指向無效指針(即,當您的delete
地址未由堆返回給您時)。幾乎可以肯定的是標準窗口堆和CRT的堆(由MSVC實現)在這種情況下會產生調試斷點。
你也可以替換new
/delete
運算符的實現並自己檢查(在你的情況下你只想檢查地址是否屬於堆棧內存,這很容易)。
2
相關問題
- 1. 堆棧上的對象意外刪除
- 2. 刪除堆棧中的對象?
- 3. 非法刪除一個堆棧對象
- 4. 捕捉堆棧溢出異常C#
- 5. 捕捉對象
- 6. MEAN堆棧刪除
- 7. 刪除項目堆棧
- 8. popBackStack刪除所有堆棧?
- 9. 刪除開始,從堆棧
- 10. HighCharts刪除堆棧總數
- 11. 堆棧對象的C++ shared_ptr
- 12. Autocad對象捕捉近宏
- 13. 用JS對象捕捉
- 14. 硒和捕捉對象
- 15. 受保護的堆對象堆棧vs堆棧分配
- 16. 堆棧或堆上的對象分配
- 17. 堆棧/堆上的對象創建?
- 18. 無法捕捉當前的堆棧跟蹤domain_UnhandledException System.UriFormatException
- 19. 捕捉EmptyStackException與測試是堆棧是空的
- 20. Python是否有靜態對象,堆棧對象和堆對象?
- 21. Java堆棧和對象
- 22. 堆棧中的對象vs C++堆中的對象
- 23. 對象的堆棧上或堆棧上的隱藏成員?
- 24. Xamarin.Forms棱鏡從導航堆棧刪除視圖堆棧
- 25. 對象分配在堆棧或堆C++
- 26. 的UINavigationController:如何刪除堆棧
- 27. 從Presentmodelview刪除的UIViewController堆棧
- 28. 刪除堆棧中的特定元素
- 29. 刪除堆棧中的頂部片段
- 30. 捕捉「堆棧溢出」錯誤返回「空」
你的意思是在基於堆棧的對象上顯式調用'delete'的意義? – 2011-05-19 12:55:12
您是否嘗試過在堆棧對象的類的析構函數中放置一個斷點,或者在堆棧對象即將清理之前的方法末尾? – 2011-05-19 12:56:10
如果該類的所有對象始終位於堆棧上,則可以給它一個私有的,未實現的'operator delete'。 – 2011-05-19 12:58:23