抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > c++函数返回值是一个引用

c++函数返回值是一个引用

时间:2021-06-07 01:05:35

相关推荐

函数返回值是一个引用的情况:

1.值是如何被返回的:

返回的值用于初始化调用点的一个临时量,该临时量就是函数调用的结果。

如果函数返回引用,则该引用仅是它所引对象的一个别名。

2.不能返回局部对象的引用或指针:

函数完成后,他所占的内存空间将被释放,函数的终止意味着局部变量的引用将指向不再有效的内存区域。

const string &mainip(){string ret;if(!ret.empty())return ret;//错误,返回局部对象的引用elsereturn "empty";//错误,“empty”是一个局部临时量}

3.引用反回左值:

左值:赋值运算符需要一个(非常量)左值作为其左侧运算对象,得到的结果也仍然是一个左值。当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(内存中的位置)。

char &get_val(string &str , string::size_type ix){return str[ix];}int main(){string s("a value");cout << s << endl;get_val(s,0) = 'A';//将s[0]的值改为A,调用是个左值,和其他左值一样也能出现在赋值运算符左侧。cout << s << endl;//输出A valuereturn 0;}

如果觉得《c++函数返回值是一个引用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。