问答详情
源自:6-6 管理内存:向函数中传入一个对象

这段引用并不能阻止拷贝

void test1(const Data& data) {
 } 
 Data getData() { 
     Data data; return data; 
 } 
 int main() { 
     const Data& data = getData(); 
     test1(data); 
     return 0; 
 }

在visual studio 2022的版本上测试,这段代码'(也就是视频中的代码)并不能阻止拷贝。 不知道是不是我写错了,有谁知道的吗

提问者:weixin_慕后端2217138 2022-11-25 23:28

个回答

  • 请叫我莴笋
    2022-12-13 18:11:54

    http://img.mukewang.com/63984fda0001fb2a06630481.jpg我这样就没有拷贝操作啊

  • 请叫我莴笋
    2022-12-13 17:52:16

    你的意思是哪里发生了拷贝?是创建引用时给返回的对象建立了拷贝吗还是说test1()函数对引用进行调用时发生了拷贝?都不应该啊。建立拷贝就犹如建立指针,怎么会发生拷贝呢?只会让引用对象将地址保存下来且让返回对象生命周期延长,而调用函数调用指针的话就更不会发生拷贝了吧