2 lansexinchen lansexinchen 于 2014.09.10 13:01 提问

看到一道题说以下s的引用非法,但在vs2012上试验后却可以准确运行,求解释

#include
#include
#include

using namespace std;

string foo()
{
//string t = "asfds";
return "asfds";
//return t;
}

void bar(string &s)
{
cout << s << endl;
}

int main()
{
bar(foo());
system("pause");
return 0;
}

为什么可以运行,foo函数返回的临时变量不是会被释放掉的吗,bar函数的参数s是哪个变量的引用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!