move-semantics

move-semantics

文章 0 浏览 5

是否有必要从不同的类定义移动构造函数?

请考虑以下问题: struct X { Y y_; X(const Y & y) :y_(y) {} X(Y && y) :y_(std::move(y)) {} }; 是否有必要定义像第二个这样的构造函数才能充分利…

话少心凉 2024-10-15 02:14:24 10 0

如何返回 fstream (C++0x)

我想我会直接进入它并从代码开始: #include #include #include class test : public std::ofstream { public: test(const std::string& filename) { …

失与倦" 2024-10-14 20:56:24 11 0

为什么 C++11 标准的早期草案中没有默认的移动赋值/移动构造函数?

我是一个简单的程序员。我的类成员变量通常由 POD 类型和 STL 容器组成。因此,我很少需要编写赋值运算符或复制构造函数,因为它们是默认实现的。 除…

朮生 2024-10-14 11:52:25 4 0

添加移动构造函数和移动赋值运算符什么时候才会真正开始产生影响?

考虑到当今编译器在返回值优化(RVO 和 NRVO)方面的高质量,我想知道开始添加移动构造函数和移动赋值运算符实际上有意义的类复杂性是多少。 例如,对…

手心的温暖 2024-10-12 10:43:41 11 0

std::move 构造后对象的状态

为了移动构造而移动的对象处于只能被销毁的状态,这是合法/正确的 c++0x 吗?例如: class move_constructible {...}; int main() { move_constructib…

你在我安 2024-10-08 21:01:41 2 0

为什么可以在没有 std::move 的情况下返回 std::unique_ptr ?

unique_ptr 不允许复制构造,而是支持移动语义。然而,我可以从函数返回一个 unique_ptr 并将返回的值分配给一个变量。 #include #include using name…

情绪操控生活 2024-10-05 09:36:38 14 0

Push_back 与 emplace_back

我对 push_back 和 emplace_back 之间的区别有点困惑。 void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& …

北城孤痞 2024-10-05 03:59:53 7 0

如何处理丢失的“emplace_range”在 C++0x STL 中?

我有两个容器,假设它们的定义如下: std::vector> a; std::vector> b; 假设 a 和 b 均已填充。我想使用 move-semantics 将整个容器 a 插入到 b 中的…

寄居者 2024-10-03 02:57:53 6 0

D 是否具有类似于 C++0x' 的移动语义?

外部资源(例如 std::vector 或 std::string)的“值类型”问题是复制它们往往非常昂贵,并且副本是在各种上下文中隐式创建的,因此这往往是一个性能…

狼性发作 2024-10-03 01:09:39 15 0

我是唯一一个觉得 std::move 有点难以理解的人吗?

所以我一直在 SO 和其他地方阅读有关 std::move 、 std::forward 、右值、左值广告等的内容。但我发现我抓不住。尽管我有时会进行修复,但我认为我了…

错爱 2024-10-02 09:14:54 6 0

将范围拆分为子范围

我有一个容器 std::vector,我想将其有效地分成子范围,每个子范围包含 x 项。不需要原始容器,因此应移动项目而不是将其复制到子范围中。 我已经设法…

爱人如己 2024-10-01 19:58:10 7 0

在派生对象上移动构造函数

当派生对象具有移动构造函数,并且基础对象也具有移动语义时,从派生对象移动构造函数调用基础对象移动构造函数的正确方法是什么? 我首先尝试了最明…

萌吟 2024-09-30 22:29:29 12 0

将移动语义与 std::pair 或 std::tuple 一起使用

假设您想利用移动语义,但其中一个可移动类需要成为 std::pair 的一部分。目的是创建一个返回 std::pair 的函数,该函数可以被视为右值并一起转发。 …

樱花坊 2024-09-30 18:42:43 21 0

std::move 之后的僵尸对象

我对使用 C++0x 移动语义移动对象之后的状态感到困惑。我的理解是,一旦对象被移动,它仍然是一个有效的对象,但它的内部状态已经改变,因此当调用它…

感情旳空白 2024-09-30 00:45:30 7 0

地图的移动构造函数

我想我确实理解移动语义的“基本想法”,但是现在当我处于实现自己的地图的阶段时,当我要编写一个用例并逐步完成移动时,我停下来开始思考它地图的作…

猫腻 2024-09-29 04:16:03 3 0
更多

推荐作者

alipaysp_snBf0MSZIv

文章 0 评论 0

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文