读书人

VC++ 里面引用的一点小疑问解决方案

发布时间: 2012-04-27 11:57:44 作者: rapoo

VC++ 里面引用的一点小疑问
测试:
classtest1
{
public:
string& gs()
{
string* a=new string("xxxxxx");
cout<<(int)a<<endl;//输出地址1
return (*a);
}
};

int _tmain(int argc, _TCHAR* argv[])
{
test1* aa=new test1();
string bb;
bb=aa->gs();
string* cc=&bb;//按照我的理解 cc就是上面的地址1啊????
cout<<(int)cc<<endl;//但是不相等
system("pause");
return 0;
}
为什么???? 完毕.

[解决办法]
string& gs()函数返回的是引用,但是函数调用结束后临时变量a释放了
怎么能用来引用呢?
[解决办法]
bb明明的新的变量啊
你是把a的内容赋给了bb啊
return(*a);
这句和地址已经没关系了

读书人网 >VC/MFC

热点推荐