Effective C++:条款06:若不想使用编译器自动生成的函数,就该明确拒绝 (Explicitly disallow the use of complier-generated functions you do not want.)

为驳回编译器自动(暗自)提供的机能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种做法。

class Uncopyable
{
protected:
  Uncopyable(){}
  ~Uncopyable(){}
private:
  Uncopyable(
const Uncopyable&);
  Uncopyable
& operator=(const Uncopyable&);
};

posted @ 2011-03-22 13:57  橘子小酥  阅读(243)  评论(0编辑  收藏  举报