我的编译器没有抱怨将const引用分配给临时引用:
string foo() {
return string("123");
};
int main() {
const string& val = foo();
printf("%s\n", val.c_str());
return 0;
}
为什么?我以为从返回的字符串foo是临时的,而val可以指向生命周期已结束的对象。C ++标准是否允许这样做并延长返回对象的寿命?
米琪卡哇伊
泛舟湖上清波郎朗
相关分类