void test1(const Data& data) { } Data getData() { Data data; return data; } int main() { const Data& data = getData(); test1(data); return 0; }
在visual studio 2022的版本上测试,这段代码'(也就是视频中的代码)并不能阻止拷贝。 不知道是不是我写错了,有谁知道的吗
我这样就没有拷贝操作啊
你的意思是哪里发生了拷贝?是创建引用时给返回的对象建立了拷贝吗还是说test1()函数对引用进行调用时发生了拷贝?都不应该啊。建立拷贝就犹如建立指针,怎么会发生拷贝呢?只会让引用对象将地址保存下来且让返回对象生命周期延长,而调用函数调用指针的话就更不会发生拷贝了吧