当声明一个类不允许复制时,可以将一个类的复制构造函数和赋值操作符声明为private,但是实际中,我们直接继续自boost::noncopyable类,就搞定了.那么我们如何自己实现一个noncopyable类?下面是代码:
class noncopyable { protected: noncopyable() = default;//声明为protected为了防止:noncopyable ncp private: noncopyable(const noncopyable&) = delete;//使用delete noncopyable&operator=(const noncopyable&) = delete; };为了拒绝编译器自动提供的功能,所以保险的方法是将相应的函数声明为 private,而且不要给出实现.注意友元函数还是能够调用 private 函数的.