网站建设350元,互联网推广培训,网站html源码,wordpress获取图片路径函数返回值是一个引用的情况#xff1a;
1.值是如何被返回的#xff1a;
返回的值用于初始化调用点的一个临时量#xff0c;该临时量就是函数调用的结果。
如果函数返回引用#xff0c;则该引用仅是它所引对象的一个别名。
2.不能返回局部对象的引用或指针#xff1a;…函数返回值是一个引用的情况
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;
}