namespace noncopyable_ // protection from unintended ADL { class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: // emphasize the following members are private noncopyable( const noncopyable& ); const noncopyable& operator=( const noncopyable& ); }; }
class noncopyable { protected: noncopyable()=default; ~noncopyable() =default; noncopyable( const noncopyable& )=delete; const noncopyable& operator=( const noncopyable& )=delete; };
原文:https://www.cnblogs.com/zhizhiyu/p/10152668.html