gpt4 book ai didi

C++ 可以使用 move 语义学将数据从一个 vector move 到另一个 vector

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:02 26 4
gpt4 key购买 nike

下面的代码将数据从一个 vector 复制到另一个 vector 中。如果 vector 很大,那么我想这很昂贵。是否可以在此处使用 move 语义将数据从一个 vector 复制到另一个 vector ?

std::vector<double> newData(Shape.Size(), 0);
std::vector<double> oldData = a->getData();
std::copy(oldData.begin(), oldData.end(), newData.begin());

最佳答案

您可以使用算法 std::move 而不是 std::copy:

std::move(oldData.begin(), oldData.end(), newData.begin());

它仍然会逐个元素地传输元素,但会 move 它们。不要忘记预先分配大小合适的 vector ,以避免过多地 move 元素。

关于C++ 可以使用 move 语义学将数据从一个 vector move 到另一个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55302594/

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