源码

首页 » 归档 » 源码 » c – 析构函数中的= delete如何阻止分配?

c – 析构函数中的= delete如何阻止分配?


在此SO question中声明此构造可防止实例的堆栈分配.

class FS_Only {
    ~FS_Only() = delete;  // disallow stack allocation
};

我的问题是,它如何阻止分配?我理解,无法显式或隐式删除此实例.但我认为,这将分别导致内存泄漏或运行时错误.

编译器是否足够聪明以排除这种情况并引发编译器错误?还有为什么需要这个呢?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/c-xigouhanshuzhongde-deleteruhezuzhifenpei.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9 月 27, 2019 at 05:15 上午

热评文章