class my_class
{
...
my_class(my_class const &) = delete;
...
};
Run Code Online (Sandbox Code Playgroud)
= delete
在这种情况下意味着什么?
还有其他"修饰符"(除了= 0
和= delete
)吗?
我有这个代码的问题:
// Make it Non Copyable
FileLogger (const FileLogger &) = delete;
FileLogger &operator= (const FileLogger &) = delete;
Run Code Online (Sandbox Code Playgroud)
我需要解决这个错误:
Error 1 error C2059: syntax error : ';'
Error 2 error C2238: unexpected token(s) preceding ';'
Run Code Online (Sandbox Code Playgroud)
在上面发布的相同代码行中,此错误发生16次,语法相同.
有一些宏可以防止类被复制,例如: 宏禁止类复制和赋值.谷歌-vs- Qt
仅仅通过在我班级中使用unique_ptr,我会获得相同的结果吗?如果是这样,有没有理由不这样做?例如
class Foo {
private:
std::unique_ptr<int> DISABLE_COPY;
};
Run Code Online (Sandbox Code Playgroud)