move-semantics 问答列表

ref-qualifier 'const &&' 有什么用?

作者:Niall 提问时间:7/18/2014

在上一个问题之后,我一直在挖掘 ref-qualifiers。 给定下面的代码示例; #include <iostream> #include <string> #include <utility...

为什么在声明移动操作时删除复制操作?

作者:KnowItAllWannabe 提问时间:8/14/2014

当类显式声明复制操作(即复制构造函数或复制赋值运算符)时,不会为该类声明移动操作。但是,当类显式声明移动操作时,复制操作将声明为已删除。为什么存在这种不对称性?为什么不直接指定如果声明了移动操作,则不...

C++:移动赋值运算符和继承

作者:Vince 提问时间:8/26/2020

此代码编译并运行良好: #include <iostream> class Base { public: Base(int value) : clean_(true) { value_ ...

为什么复制构造函数和复制分配运算符调用“memcpy”,而移动 ctor 和移动分配运算符调用“memmove”

作者:John 提问时间:6/5/2020

作为主题,下面列出了相关代码。您可以在 https://godbolt.org/z/mAbmwJ 上检查它。 我完全理解 和 之间的区别,但我不明白它背后的原因。代码引用自一个著名的开源项目,我不会...

在 C++ 中,对具有唯一 ID 的对象进行复制/移动/赋值的正确方法是什么?

作者:Alex 提问时间:11/2/2020

/* Example.h file */ class Example { public: Example(const std::string& unique_id_, int attribute...

当析构函数可能抛出时,为什么 std::vector 复制构造而不是移动构造?

作者:einpoklum 提问时间:10/10/2022

请考虑以下程序: #include <vector> #include <iostream> class A { int x; public: A(int n) noexcept : x(n)...

为什么在声明移动操作时删除复制操作?

作者:KnowItAllWannabe 提问时间:8/14/2014

当类显式声明复制操作(即复制构造函数或复制赋值运算符)时,不会为该类声明移动操作。但是,当类显式声明移动操作时,复制操作将声明为已删除。为什么存在这种不对称性?为什么不直接指定如果声明了移动操作,则不...

右值引用何时会导致移动与复制构造函数,为什么?[复制]

作者:Suat Mutlu 提问时间:6/19/2023

这个问题在这里已经有答案了: 为什么我必须在右值引用上调用 move?[复制] (2 个答案) 为什么右值引用变量不是右值? (3 个答案) 5个月前关闭。 我对右值引用的显式用法感到困惑。 假设...

Move and Copy 构造函数与 std::move [duplicate] 同时调用

作者:Evethir 提问时间:7/21/2020

这个问题在这里已经有答案了: 返回非静态本地对象时选择的复制构造函数而不是移动构造函数 (1 个答案) 在向量中使用没有复制且没有 noexcept 移动构造函数的对象。到底是什么坏了,我该如何确认?...

如果我使用 std::move,我如何确保永远不会调用复制构造函数

作者:user3324131 提问时间:12/27/2020

请参阅下面的代码。我评论移动构造函数,而不是编译错误,现在调用复制构造函数!尽管我正在使用 .std::move 如果我使用,我如何确保我的大对象永远不会调用复制构造函数(例如,我忘记添加移动构造函...


共22条 当前第1页