您的位置:首页 > 编程语言 > C语言/C++

【C++ Primer学习笔记】引用返回左值

2012-03-08 10:09 176 查看
返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方:

char &get_val(string &strInput, string::size_type ix)
{
return strInput[ix];
}

int main()
{
string strTemp("a value");
cout << strTemp << endl;    //prints "a value"

get_val(strTemp, 0) = 'A';
cout << strTemp << endl;    //prints "A value"

return 0;
}

给函数返回值赋值可能令人惊讶,由于函数返回的是一个引用,因此这是正确的,该引用是被返回元素的同义词。

如果不希望引用返回值被修改,返回值应该声明为const:

const char&get_val(...

又如,下面程序段将数组aiTemp的各元素赋值为0:

int &get(int *piArray, int index)
{
return piArray[index];
}

int main()
{
int aiTemp[10];
for (int i = 0; i != 10; ++i)
{
get(aiTemp, i) = 0;
}

return 0;
}







                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: