gpt4 book ai didi

c++ - 优化 vector 赋值 c++

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:31:28 24 4
gpt4 key购买 nike

我有一个返回 vector 的函数。我们将其命名为 v。我在一个函数中使用了 v.begin()v.end()。我怎样才能使用 .begin().end() 而不创建新的 vector v2 来存储先前的 vector v 这样我就可以访问方法?

我的意思是:

std::vector<int> merge(...) {
...
return v;
}
void mergeSort(...) {
...
std::vector<int> v2;
v2 = merge(...);
I_need_this = v2.begin();
And_I_really_need_this_too = v2.end();
...
}

最佳答案

优化赋值的最好方法是根本不赋值,而是使用初始化

std::vector<int> v2 = merge(...);

几乎可以肯定,编译器会直接将 v 创建到 v2 中,而不会进行任何复制。

关于c++ - 优化 vector 赋值 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35107839/

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