如何使用委托构造函数和条件初始化程序列表编写复制/移动构造函数
作者:DWil 提问时间:10/18/2023
我即将完成我的容器,但我要解决的最后一个问题是如何处理复制/移动构造函数并在私有联合成员变量中适当构造正确的成员变量。我希望我的复制和移动构造函数仅根据布尔值在联合中构造适当的类型,这样类型就不必具有...
move-constructor 问答列表
作者:DWil 提问时间:10/18/2023
我即将完成我的容器,但我要解决的最后一个问题是如何处理复制/移动构造函数并在私有联合成员变量中适当构造正确的成员变量。我希望我的复制和移动构造函数仅根据布尔值在联合中构造适当的类型,这样类型就不必具有...
作者:kaiyu wei 提问时间:4/10/2022
我对C++移动构造函数有一些困惑。如果编译器隐式合成移动构造函数,则此移动构造函数将执行什么操作?它只会使“this”指向用于初始化的对象吗? 下面有一个示例: struct Foo { int ...
作者:Amir reza Riahi 提问时间:8/5/2022
这个问题在这里已经有答案了: 向量push_back多次调用copy_constructor? (5 个答案) 当向量增长时,如何强制执行移动语义? (3 个答案) 去年关闭。 我的代码是这样的: ...
作者:John 提问时间:6/11/2022
将派生类标记为可移动而基类不可移动是否有意义\合适? 我知道这种不一致在 C++ 中是合法的,但它在实践中有意义\合适吗? 一般来说,我应该小心翼翼地保持这种一致性吗? 这种情况如何:当我打算将...
作者:mercury0114 提问时间:1/15/2023
下面是我尝试设计的类的简化版本 class Class { public: Class(std::unique_ptr<int>&& ptr): ptr_(std::move(ptr)) {} ...
作者:Biear 提问时间:3/3/2023
根据 abseil.io/tips/177 的说法,它说 具体来说,如果您的类具有 const 成员,则无法将其分配给(无论是通过复制分配还是移动分配)。该语言可以理解这一点:如果您的类型具有 co...
作者:Leon 提问时间:4/18/2023
我已经用 C++20 编写了一个无锁和线程安全的环队列,到目前为止它有效。唯一不完美的是它必须有两个方法,一个接受对左值的常量引用作为参数,另一个接受对右值的引用,以便将右值移动到队列中而不是再次构造...
作者:Louis 提问时间:6/24/2023
[首先:Windows10 上的 Vs2019,仅支持 C++11] 我对模板复制分配功能感到困惑,例如:在此处输入图像描述 我发现规范化版本不起作用,为什么它不等于复制赋值功能?模板函数不是会像...
作者: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...