這段引用并不能阻止拷貝
void?test1(const?Data&?data)?{ ?}? ?Data?getData()?{? ?????Data?data;?return?data;? ?}? ?int?main()?{? ?????const?Data&?data?=?getData();? ?????test1(data);? ?????return?0;? ?}
在visual studio 2022的版本上測試,這段代碼'(也就是視頻中的代碼)并不能阻止拷貝。 不知道是不是我寫錯了,有誰知道的嗎
2022-12-13
2022-12-13
你的意思是哪里發生了拷貝?是創建引用時給返回的對象建立了拷貝嗎還是說test1()函數對引用進行調用時發生了拷貝?都不應該啊。建立拷貝就猶如建立指針,怎么會發生拷貝呢?只會讓引用對象將地址保存下來且讓返回對象生命周期延長,而調用函數調用指針的話就更不會發生拷貝了吧