gpt4 book ai didi

c++ - 通过引用传递 vector 并在基于范围的 for 循环中更改其值?

转载 作者:太空狗 更新时间:2023-10-29 20:37:51 25 4
gpt4 key购买 nike

我正在尝试通过执行类似于以下函数的操作来更改 vector 的值:

vector<int> Question2_Part3(vector<int> &v){

for(auto elem : v){
elem *= 2;
cout << elem << " ";
}
cout << "\n" << endl;

return v;
}

这可能吗?我知道在我的 for 循环中,改变的是 elem 的值。我能否在更改 v 中的值的同时获得相同的输出并仍然使用基于范围的 for 循环?

最佳答案

是的,这是可能的,但请使用引用

for (auto &elem : v) {
elem *= 2;
cout << elem << " ";
}

这也更有效,因为它避免了将每个 vector 元素复制到变量。事实上,如果你不想改变你应该做的元素

for (const auto &elem : v) {
cout << elem << " ";
}

More details

关于c++ - 通过引用传递 vector 并在基于范围的 for 循环中更改其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508667/

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