相关疑难解决方法(0)

为什么要明确删除构造函数?

何时/为什么我要显式删除我的构造函数?假设原因是为了防止其使用,为什么不做到呢private

class Foo
{ 
  public: 
    Foo() = delete; 
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++

83
推荐指数
2
解决办法
5万
查看次数

为什么删除移动构造函数导致向量停止工作

如果我在类中禁止移动构造函数,我就不能再在向量中使用它:

class Foo
{
  public:
      Foo(int i) : i_(i) {}
      Foo(Foo&&) = delete;

      int i_;
};

int main()
{
    std::vector<Foo> foo;
    foo.push_back(Foo(1));
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c++ c++11

10
推荐指数
1
解决办法
3801
查看次数

标签 统计

c++ ×2

c++11 ×1