返回const和非const之间的全部含义是什么?

时间:2019-10-03 01:19:02

标签: c++ reference

这个问题简短而简单,我想知道将函数中的对象作为常量或非常量返回的全部意义。

我正在阅读有关“返回常量引用”的内容,我了解作为参考的返回点,基本上是不进行复制,但是作为常量返回的意义是什么?

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;
    }

0 个答案:

没有答案