#undef GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)
我正在阅读来自谷歌的开源代码。 为什么禁止使用复制构造函数和赋值运算符?
#undef GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)
我正在阅读来自谷歌的开源代码。 为什么禁止使用复制构造函数和赋值运算符?
为防止类的实例被复制或分配,大多数类都不应允许复制。例如考虑一个BankAccount类 - 如果您为银行编写软件,如果创建帐户的副本并对这些不同的副本应用信用和借方,则他们将会感到非常不满意。