复制赋值运算符具有通常的签名:
my_class & operator = (my_class const & rhs);
下面的签名有实际用途吗?
my_class const & operator = (my_class const & rhs);
您只能定义其中之一,而不能同时定义两者。
最佳答案
使复制赋值的返回类型成为非常量引用的主要原因是它是标准中“可赋值”的要求。
如果您将返回类型设为 const
引用,那么您的类将无法满足在任何标准库容器中使用的要求。
关于c++ - 有没有人发现需要声明一个复制赋值运算符的返回参数const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649068/