Const引用類成員是否延長了臨時類的壽命?為何:#include <string>#include <iostream>using namespace std;class Sandbox{public:
Sandbox(const string& n) : member(n) {}
const string& member;};int main(){
Sandbox sandbox(string("four"));
cout << "The answer is: " << sandbox.member << endl;
return 0;}提供下列產(chǎn)出:答案是:而不是:答案是:四
3 回答

30秒到達戰(zhàn)場
TA貢獻1828條經(jīng)驗 獲得超6個贊
const
n
n
第二個上下文是將引用綁定到臨時上下文。綁定引用的臨時對象或臨時對象,即臨時綁定的子對象的完整對象,除非如下所述,否則該引用的生存期將持續(xù)。一個臨時綁定到構(gòu)造函數(shù)的ctor初始化器中的引用成員(§12.6.2[class.base.init])一直持續(xù)到構(gòu)造函數(shù)退出。與函數(shù)調(diào)用中的引用參數(shù)綁定的臨時參數(shù)(§5.2.2[expr.all])一直保持到包含調(diào)用的完整表達式完成為止。
- 3 回答
- 0 關(guān)注
- 621 瀏覽
添加回答
舉報
0/150
提交
取消