c++ - 已删除的构造函数/运算符的可访问性是否重要?

标签 c++ c++11

如果一个类型的默认成员被删除,声明的可访问性是否会有所不同?

class FooA {
public:
  FooA() = delete;
  FooA(FooA const&) = delete;
  FooA& operator=(FooA const&) = delete;
}

class FooB {
private:
  FooB() = delete;
  FooB(FooB const&) = delete;
  FooB& operator=(FooB const&) = delete;
}

class FooC {
protected:
  FooC() = delete;
  FooC(FooC const&) = delete;
  FooC& operator=(FooC const&) = delete;
}

最佳答案

虽然accessibility and deletedness are orthogonal ,很难看出在您提出的情况下会有什么实际差异。

关于c++ - 已删除的构造函数/运算符的可访问性是否重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21539079/

相关文章:

c++ - shared_ptr 的删除器是否进行任何同步?

c++ - 对模板替换示例感到困惑

c++ - 在 C++0x 中删除虚函数

c++ - 使用访问器访问静态 std::set 是明智的还是我应该直接访问它?

c++ - Qt 重绘 paintEvent 已调用但小部件未更新

c++ - 为什么我不能创建一个自动变量数组?

c++ - 仅使用 regex_search 返回第一个匹配项

c++ - 在初始化列表中初始化 unordered_map

c++ - Clang 是否比跨平台的 GCC 更具确定性?

c++ - 我如何在 C++ 中做模数?