2
A
回答
3
您可能會重載新操作符和刪除操作符。見this article。
2
如果您正在使用GNU glibc庫,那麼假設您想要捕獲程序中的所有分配,那麼可以使用malloc hooks來執行此操作,而不是重載新/刪除操作。如果你只想使用new/delete捕獲分配,那麼你可以重載這些操作符。順便說一下,如果您嘗試檢測和調試內存問題,那麼您可能會從使用valgrind with memcheck受益,而不是滾動自己的系統。
4
調試內存問題的一個好方法是使用外部顯示器,如valgrind。這將鉤住程序的內存分配和釋放,並在程序結束時顯示一個報告,顯示任何未分配的分配。此方法不需要修改或重新編譯程序。
0
如果你的應用程序非常簡單,你可以試試這個。其他人按照其他人的建議使用valgrind。
int sum = 0;
class foo
{
int a,b,c;
};
int main()
{
foo *obj1 = new foo;
sum += sizeof(*obj1); // 12 bytes
foo *obj2 = new foo;
sum += sizeof(*obj2); // 24 bytes
std::cout << " \n Total memory allocated with new:\t " << sum << std::endl ;
return 0;
}
相關問題
- 1. 刪除觀察
- 2. 刪除與刪除[] C++運算符
- 3. 類似的可觀察運算符Promise.resolve()
- 4. 使用addObserverForName時刪除觀察者:usingBlock
- 5. iOS - 使用dealloc刪除觀察者
- 6. 刪除NSOperation的觀察者
- 7. NSNotificationCenter刪除觀察者
- 8. 觀察員未刪除
- 9. 觀察用於插入/刪除的NSMutableArray
- 10. 刪除/禁用聚合物觀察員
- 11. 觀察CKRecord刪除不起作用
- 12. 刪除轉換運算符
- 13. C++高效地使用新運算符
- 14. 在C++中使用新的運算符
- 15. Github:刪除版本庫的觀察者
- 16. 從ng選項中刪除觀察者
- 17. 無法刪除觀察員<MKUserTrackingBarButtonItem
- 18. NSNotificationCenter:在Swift中刪除觀察者
- 19. Android:觀察已刪除主題的SMS
- 20. AVPlayer無法刪除時間觀察者
- 21. KVO問題「無法刪除觀察者」
- 22. 從數據框中刪除觀察R
- 23. 刪除SparkR DataFrame中的重複觀察
- 24. 從子視圖刪除觀察者
- 25. 何時需要刪除觀察者
- 26. NSNotificationCenter觀察員沒有被刪除?
- 27. KVO:無法刪除觀察者
- 28. 刪除KVO觀察者時APP崩潰
- 29. 在觀察者中刪除訂閱
- 30. 使用除非運算符
該鏈接完全符合要求... – Alphaneo 2011-02-09 23:44:30