move 构造函数是否会更改“this”指向的内存?
作者:kaiyu wei 提问时间:4/10/2022
我对C++移动构造函数有一些困惑。如果编译器隐式合成移动构造函数,则此移动构造函数将执行什么操作?它只会使“this”指向用于初始化的对象吗? 下面有一个示例: struct Foo { int ...
Move 问答列表
作者:kaiyu wei 提问时间:4/10/2022
我对C++移动构造函数有一些困惑。如果编译器隐式合成移动构造函数,则此移动构造函数将执行什么操作?它只会使“this”指向用于初始化的对象吗? 下面有一个示例: struct Foo { int ...
作者:Amir reza Riahi 提问时间:8/5/2022
这个问题在这里已经有答案了: 向量push_back多次调用copy_constructor? (5 个答案) 当向量增长时,如何强制执行移动语义? (3 个答案) 去年关闭。 我的代码是这样的: ...
作者:Alex 提问时间:11/2/2020
/* Example.h file */ class Example { public: Example(const std::string& unique_id_, int attribute...
作者:John 提问时间:6/11/2022
将派生类标记为可移动而基类不可移动是否有意义\合适? 我知道这种不一致在 C++ 中是合法的,但它在实践中有意义\合适吗? 一般来说,我应该小心翼翼地保持这种一致性吗? 这种情况如何:当我打算将...
作者:einpoklum 提问时间:10/10/2022
请考虑以下程序: #include <vector> #include <iostream> class A { int x; public: A(int n) noexcept : x(n)...
作者: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...
作者: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] 我对模板复制分配功能感到困惑,例如:在此处输入图像描述 我发现规范化版本不起作用,为什么它不等于复制赋值功能?模板函数不是会像...