gpt4 book ai didi

c++ - 使用 move 赋值运算符分配刚构造的未命名值

转载 作者:行者123 更新时间:2023-11-30 01:53:39 25 4
gpt4 key购买 nike

我想分配刚刚构建的 未命名(我的意思是“在没有声明的情况下创建”。如果术语不正确,请修复我。) 包含大量元素的容器另一个容器,使用 move 赋值。

我应该这样写吗:

vector_used_before = std::move(vector<double>(100, 1.0));

或者简单地说:

vector_used_before = vector<double>(100, 1.0);

很明显编译器在这种情况下总是可以使用 move 赋值,因为我们不能再使用创建的对象了。但它是如何真正起作用的?

最佳答案

vector<double>(100, 1.0)已经是一个右值,所以这两段代码做了完全相同的事情—— move 赋值。因此,正确答案是“使用最短的”:

vector_used_before = vector<double>(100, 1.0);

关于c++ - 使用 move 赋值运算符分配刚构造的未命名值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22996518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com