c – 停止调用析构函数

前端之家收集整理的这篇文章主要介绍了c – 停止调用析构函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类,我正在重载new和删除(这些从内存池获取和返回内存).令我感到沮丧的是,我重载的类仍然在调用delete重载函数之前调用了析构函数.我怎么能阻止这个?
class Message
{
    ~Message() { ... }

    void* operator new(std::size_t sz) { ... }
    void operator delete(void* ptr) { ... }
};

编辑:

我认为类的成员会被破坏但是破坏者不会释放记忆,这是正确的; delete函数拥有这个责任,在这种情况下,我可以阻止内存被释放?

结果:
Penny拒绝了内存和构造/销毁的分配/释放是单独的项目.我现在有空的析构函数和重载的新/删除.

解决方法

破坏和解除分配是两个正交的事情,一个不应该抑制另一个.对于在堆栈上创建的类的实例,您会怎么做?没有清理他们的资源?你试图打破一个非常有用的 RAII概念.
原文链接:https://www.f2er.com/c/115151.html

猜你在找的C&C++相关文章