将移动构造函数委派到适当的复制构造函数是否安全?
作者:abura 提问时间:6/11/2020
为了避免代码重复,我想将移动构造函数和移动赋值运算符分别委托给适当的复制构造函数和赋值运算符: struct A { A() {...} //default constructor A(co...
Move 问答列表
作者:abura 提问时间:6/11/2020
为了避免代码重复,我想将移动构造函数和移动赋值运算符分别委托给适当的复制构造函数和赋值运算符: struct A { A() {...} //default constructor A(co...
作者:Tadeus Prastowo 提问时间:9/25/2017
阅读这个和这个以及标准的 23.3.6.5/1,在最新的 C++ 标准草案中,当作为操作的结果重新分配其元素时,实现者应该优先使用非抛出移动构造函数而不是常量复制构造函数?是 13.3.3.1.4/1...
作者:KnowItAllWannabe 提问时间:8/14/2014
当类显式声明复制操作(即复制构造函数或复制赋值运算符)时,不会为该类声明移动操作。但是,当类显式声明移动操作时,复制操作将声明为已删除。为什么存在这种不对称性?为什么不直接指定如果声明了移动操作,则不...
作者:Nolazuck 提问时间:4/21/2022
在下面的代码中,我想从派生类中禁用基类的移动构造,并调用复制构造函数。VectorVectorMap #include <iostream> #include<algorithm> struct ...
作者:John 提问时间:3/31/2022
lambda 只是一个无名类的实例。如果它没有捕获任何内容,它甚至不会有任何成员变量。 我认为特定的 lambda 是可复制的还是可移动的取决于实际捕获的对象(和变量)是可复制的还是可移动的。 此...
作者:DarkSideOfTheMoon 提问时间:11/28/2019
我最近开始学习 C++,但在课堂上更新指针时遇到了一些问题。我有一种感觉,我的移动/复制构造函数中的某个地方有一个问题,但几个小时来一直在尝试解决这个问题,交换指向值引用的指针,最后来这里寻求帮助。M...
作者:Suat Mutlu 提问时间:6/19/2023
这个问题在这里已经有答案了: 为什么我必须在右值引用上调用 move?[复制] (2 个答案) 为什么右值引用变量不是右值? (3 个答案) 5个月前关闭。 我对右值引用的显式用法感到困惑。 假设...
作者:Evethir 提问时间:7/21/2020
这个问题在这里已经有答案了: 返回非静态本地对象时选择的复制构造函数而不是移动构造函数 (1 个答案) 在向量中使用没有复制且没有 noexcept 移动构造函数的对象。到底是什么坏了,我该如何确认?...
作者:user3324131 提问时间:12/27/2020
请参阅下面的代码。我评论移动构造函数,而不是编译错误,现在调用复制构造函数!尽管我正在使用 .std::move 如果我使用,我如何确保我的大对象永远不会调用复制构造函数(例如,我忘记添加移动构造函...
作者:Gonen I 提问时间:4/3/2022
为什么 getA() 和 getA2() 返回的值实例是使用 copy 构造函数而不是 move 构造函数返回的? 我正在使用 Visual Studio Community 2017,但 godb...