我有一个返回 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/