这个问题简短而简单,我想知道将函数中的对象作为常量或非常量返回的全部意义。
我正在阅读有关“返回常量引用”的内容,我了解作为参考的返回点,基本上是不进行复制,但是作为常量返回的意义是什么?
class MyInt
{
public:
MyInt(int initialValue) : storedValue(initialValue) {}
int get() { return storedValue; }
MyInt& operator=(const MyInt& rhs)
{
storedValue = rhs.storedValue;
return *this;
}
private:
int storedValue;
};
在该代码中,两者之间有什么区别
MyInt& operator=(const MyInt& rhs)
{
storedValue = rhs.storedValue;
return *this;
}
和
const MyInt& operator=(const MyInt& rhs)
{
storedValue = rhs.storedValue;
return *this;
}