相关疑难解决方法(0)

如何在析构函数上删除=阻止分配?

在这个问题中,陈述了这个结构防止实例的堆栈分配.

class FS_Only {
    ~FS_Only() = delete;  // disallow stack allocation
};
Run Code Online (Sandbox Code Playgroud)

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

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

c++ delete-operator c++11

13
推荐指数
4
解决办法
6191
查看次数

c ++语法:默认和删除修饰符

今天我偶然发现了一个像这样的代码片段:

class A 
{
    A() = default;
    A (const A&) = delete; 

    ...
}
Run Code Online (Sandbox Code Playgroud)

我从未见过deletedefault关键字.它们是C++ 11标准的一部分吗?它们用于什么?

c++ c++11

9
推荐指数
1
解决办法
1228
查看次数

标签 统计

c++ ×2

c++11 ×2

delete-operator ×1