返回信息流const string & b = “sf” /1
cout<<b<<endl; /2
第一步是怎么转换的 生成了一个中间变量 const string ,然后它被b引用。
但是那个中间变量的生存期就只在第一句里面。那第二步为什么还能正常输出?(因为它引用的中间变量生存期已经到了)
很困惑.. 求高手解答
这是一条镜像帖。来源:北邮人论坛 / cpp / #38598同步于 2010/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
问个问题 const string &
Rickyay
2010/4/27镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
唔。转了好多天这版发现好多都不会。没用过。好菜哇我。。
学习。。
【 在 Rickyay (ricky_h) 的大作中提到: 】
: const string & b = “sf” /1
: cout<<b<<endl; /2
: 第一步是怎么转换的 生成了一个中间变量 const string ,然后它被b引用。
: ...................
等价于
string temp = string("sf");
const string & s = temp //1
cout<<s<<endl; //2
第二句的时候,变量还在生存期的