Move 问答列表

move 构造函数是否会更改“this”指向的内存?

作者:kaiyu wei 提问时间:4/10/2022

我对C++移动构造函数有一些困惑。如果编译器隐式合成移动构造函数,则此移动构造函数将执行什么操作?它只会使“this”指向用于初始化的对象吗? 下面有一个示例: struct Foo { int ...

为什么复制构造函数在这里被调用两次?[复制]

作者:Amir reza Riahi 提问时间:8/5/2022

这个问题在这里已经有答案了: 向量push_back多次调用copy_constructor? (5 个答案) 当向量增长时,如何强制执行移动语义? (3 个答案) 去年关闭。 我的代码是这样的: ...

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

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

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

将派生类标记为可移动而基类不可移动是否有意义\合适?

作者:John 提问时间:6/11/2022

将派生类标记为可移动而基类不可移动是否有意义\合适? 我知道这种不一致在 C++ 中是合法的,但它在实践中有意义\合适吗? 一般来说,我应该小心翼翼地保持这种一致性吗? 这种情况如何:当我打算将...

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

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

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

当类具有 const std::unique_ptr 类型的成员时,您能否设计一个构造函数以允许“类 c(std::move(another_class))”?

作者:mercury0114 提问时间:1/15/2023

下面是我尝试设计的类的简化版本 class Class { public: Class(std::unique_ptr<int>&& ptr): ptr_(std::move(ptr)) {} ...

是否可以分配或复制具有 const 成员的类

作者:Biear 提问时间:3/3/2023

根据 abseil.io/tips/177 的说法,它说 具体来说,如果您的类具有 const 成员,则无法将其分配给(无论是通过复制分配还是移动分配)。该语言可以理解这一点:如果您的类型具有 co...

C++ 返回值和移动规则异常

作者:tinkerbeast 提问时间:5/30/2020

当我们从 C++ 函数返回一个值时,就会发生复制初始化。例如: std::string hello() { std::string x = "Hello world"; return x; //...

如何完美地转发一个通用引用,要么是常量引用,要么是可移动的右值?

作者:Leon 提问时间:4/18/2023

我已经用 C++20 编写了一个无锁和线程安全的环队列,到目前为止它有效。唯一不完美的是它必须有两个方法,一个接受对左值的常量引用作为参数,另一个接受对右值的引用,以便将右值移动到队列中而不是再次构造...

模板副本分配功能的混淆

作者:Louis 提问时间:6/24/2023

[首先:Windows10 上的 Vs2019,仅支持 C++11] 我对模板复制分配功能感到困惑,例如:在此处输入图像描述 我发现规范化版本不起作用,为什么它不等于复制赋值功能?模板函数不是会像...


共76条 当前第2页