c++中引用作为函数返回值
返回值为值类型时。使用临时对象(temporary object)来保存函数的返回值。函数的返回值用于初始化调用点的一个临时对象,该临时对象就是函数调用的结果。其返回值为右值。不能作为左值。
返回值是引用类型时,其返回值即为return的变量,所以不需要临时对象保存其返回值。所以,对于返回值为引用类型的函数,其返回值为左值。
返回值为const内置类型(值类型)时,返回值不能被修改,只能是右值
返回值为const自定义类型时,是否有const修饰将有区别,非const类型可以对其返回值进行赋值,即返回值是左值。const类型则不能对其进行赋值(但无意义,因为返回值是保存在临时对象中的),即返回值是右值。
返回值是指向常量的指针的函数,返回值是右值,且不能为非const指针赋值。

浙公网安备 33010602011771号