是的,C++中的std::vector
可以进行原地修改。你可以通过多种方式来实现这一点,例如使用迭代器、下标操作符或者成员函数(如at()
)来访问和修改元素。
以下是一个简单的示例,展示了如何使用迭代器对std::vector
进行原地修改:
#include<iostream>
#include<vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器遍历并修改vector中的每个元素
for (auto it = vec.begin(); it != vec.end(); ++it) {
*it *= 2; // 将每个元素乘以2
}
// 输出修改后的vector
for (const auto& elem : vec) {
std::cout<< elem << " ";
}
return 0;
}
输出结果:
2 4 6 8 10
在这个示例中,我们使用迭代器遍历std::vector
,并将每个元素乘以2,从而实现了原地修改。