0
當操作系統爲對象,數組和等分配內存時,是否可以接收「消息」?像Objective-C? 我只是想創建自己的NSAutoreleasePool
。 Thnx。觀察calloc,malloc,新事件
當操作系統爲對象,數組和等分配內存時,是否可以接收「消息」?像Objective-C? 我只是想創建自己的NSAutoreleasePool
。 Thnx。觀察calloc,malloc,新事件
如果你在一個合適的平臺上(使用GNU libc),你可以指定鉤子malloc
等來修改它們的行爲。看看here。
如果你只是想要自動釋放內存,使用[智能](http://en.cppreference.com/w/cpp/memory/unique_ptr)[指針](http://en.cppreference.com/瓦特/ CPP /存儲器/ shared_ptr的)。 –
如果你使用C++,你不應該使用'malloc()'等。如果你使用'malloc()'等進行鉤子,你也必須掛鉤到'free()',這樣如果使用'malloc()'的代碼使用'free()'釋放它的內存(這是大部分代碼,當然;使用'malloc()'的人通常會小心地釋放它),你的代碼不會嘗試重新釋放內存。 –
想到的一個直接問題是'new'運算符只知道大小(忽略成員版本)而不知道對象的類型。因此,在釋放內存之前,您無法調用對象的析構函數。 – John5342