gpt4 book ai didi

C++:什么时候隐式复制一个类?

转载 作者:搜寻专家 更新时间:2023-10-31 00:45:12 25 4
gpt4 key购买 nike

什么时候在 C++ 中隐式复制一个类?

我有一个包含 unique_ptr 的类,因此无法安全复制,因此,我通过创建 X(X&) 的私有(private)版本禁用了该类的复制构造函数X& 运算符 = X&

我马上遇到了这个类的实例无法返回的问题,因为返回实际上是创建了一个实例的拷贝。

还有其他需要注意的情况吗?

最佳答案

返回不会复制实例,它移动实例。您只是忘记提供一个移动构造函数。此外,在标准容器中使用的类现在在大多数情况下被移动,在这些情况下它们过去是被复制的。

简而言之,提供移动构造函数和移动赋值运算符(最好是交换),您应该会发现几乎所有隐式复制的情况,它们现在都在移动。

关于C++:什么时候隐式复制一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com