mo 问答列表

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

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

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

为什么我们有 map、fmap 和 liftM?

作者:fredoverflow 提问时间:9/19/2011

map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -...

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

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

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

通过智能指针固定对象指针成员的赋值

作者:Eduardo 提问时间:6/25/2018

我正在学习有关 C++ 14 中智能指针的更多信息。 考虑以下 MWC: #include <iostream> #include <string> #include <memory> clas...

为什么需要在 c++ 运算符重载中删除内存并分配新内存

作者:Ahmed Salama 提问时间:6/22/2021

我正在检查赋值运算符实现,但我不明白这一点: const MyString& operator=(const MyString& rhs) { if (this != &rhs) { dele...

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)...


共1361条 当前第11页