假设有一个名为 Vector 的类,我想为它重载赋值运算符,使其能够像这样工作: a = b = c;(a,b,v是Vector类的对象)
但是有一件事让我很困惑。 假设有两个原型(prototype):
Vector & operator=(const Vector & v);
const Vector & operator=(const Vector & v);
两者都适用于 'a=b=c' 的情况。 那么,哪个更好或对呢?
最佳答案
对于初学者来说,将您的类命名为“Vector”可能会导致经常与 std::vector
混淆和混淆。你应该选择一个更好的名字。不幸的是,“array”现在也被占用了......
第一个是标准赋值运算符。当然,赋值运算符仅针对可变类实例定义,因此它应该返回对可变类实例的引用。
关于c++ - 关于重载赋值运算符的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504851/