第一:是 boost::noncopyable 还是 booster::noncopyable。我在不同的地方都见过。
为什么要让一个类不可复制?你能给出一些示例用例吗?
最佳答案
我发现每当您有一个具有指针作为该类拥有的成员变量的类(即负责销毁)时,它很有用。除非您使用 shared_ptr<>
或其他一些引用计数智能指针,否则您不能安全地复制或分配类,因为在析构函数中您需要对指针进行 delete
。但是,您不知道是否已获取该类的拷贝,因此您将因取消引用已释放的指针而导致双重删除或访问冲突。
如果您从 noncopyable
继承,那么它有两个好处:
例如
class MyClass : boost::noncopyable
{
...
};
关于c++ - booster::noncopyable 的用例是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3518853/