operator=
在 C++ 中,在应该是不可变的类上定义的惯用方式是什么。例如它的所有成员变量都是const
.
typedef unsigned char byte;
class Binary
{
protected:
const unsigned long size;
const byte* bytes;
public:
Binary(const unsigned long size);
Binary(const Binary &b);
~Binary(void);
Binary& operator=(const Binary &b);
};
wherebytes
是指向malloc
运行时编辑的内存块的指针。
我是定义一个空的赋值运算符还是让它使用自动生成的显然会失败的运算符?
我正在尝试在一些选择类上实现和强制执行单一赋值语义。