这段引用并不能阻止拷贝

来源:6-6 管理内存:向函数中传入一个对象

weixin_慕后端2217138

2022-11-25 23:28

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

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

写回答 关注

2回答

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

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

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

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

趣味 C++ 进阶

本课程是 C++ 的进阶课程,继续趣味学习之旅,带你探索 C++ 的高级用法。

13927 学习 · 44 问题

查看课程

相似问题