相关疑难解决方法(0)

宏禁止类复制和分配.谷歌-vs- Qt

要禁止复制或分配类,通常的做法是将复制构造函数和赋值运算符设为私有.谷歌和Qt都有宏,使这个变得简单明了.这些宏是:

谷歌:

#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
  TypeName(const TypeName&);   \
  void operator=(const TypeName&) 
Run Code Online (Sandbox Code Playgroud)

Qt的:

#define Q_DISABLE_COPY(Class) \
  Class(const Class &); \     
  Class &operator=(const Class &);
Run Code Online (Sandbox Code Playgroud)

问题:为什么两个赋值运算符的签名不同?好像Qt版本是正确的.两者之间有什么实际区别?

c++

35
推荐指数
4
解决办法
2万
查看次数

标签 统计

c++ ×1