Tôi có một lớp mà trên đó tôi đang nạp chồng mới và xóa (bộ nhớ tìm nạp và trả về này và đến một vùng bộ nhớ). Điều làm tôi băn khoăn là lớp mà tôi đã quá tải vẫn có hàm hủy của nó được gọi trước khi hàm delete bị quá tải được gọi. Làm thế nào tôi có thể ngăn chặn điều này?Dừng trình hủy được gọi là
class Message
{
~Message() { ... }
void* operator new(std::size_t sz) { ... }
void operator delete(void* ptr) { ... }
};
EDIT:
Am đúng trong suy nghĩ rằng các thành viên của lớp sẽ được destructed nhưng bộ nhớ sẽ không được giải phóng bởi các hàm hủy; chức năng xóa sở hữu trách nhiệm này trong trường hợp nào tôi có thể ngăn chặn bộ nhớ bị deallocated?
OUTCOME: Penny giảm phân bổ/deallocation bộ nhớ và xây dựng/hủy là các mục riêng biệt. Bây giờ tôi có các destructors rỗng và quá tải mới/delete.
Tôi không biết tại sao điều đó gây bực bội; C++ rất hợp lý trong vấn đề này. Để lại một destructor trống nếu bạn không cần nó để làm bất cứ điều gì. –