c++ - 将元素替换为 vector 的特定位置

标签 c++ visual-c++ vector stl insert

我想将一个元素替换到 vector 的特定位置,我可以使用赋值吗:

// vec1 and 2 have the same length & filled in somehow
vec1;
vec2;

vec1[i] = vec2[i] // insert vec2[i] at position i of vec1

或者我必须使用 insert():

vector<sometype>::iterator iterator = vec1.begin();

vec1.insert(iterator+(i+1), vec2[i]);

最佳答案

vec1[i] = vec2[i]

vec1[i] 的值设置为 vec2[i] 的值。什么都没有插入。您的第二种方法几乎是正确的。而不是 +i+1 你只需要 +i

v1.insert(v1.begin()+i, v2[i])

关于c++ - 将元素替换为 vector 的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726805/

相关文章:

c++ - VC++ 与 G++,cout

c++ - 调用 std::max 时出现问题

r - 在 R 中,有没有办法将向量指定为 *literal*?

c++ - WinSock : Remove data from socket

c++ - 当代码在没有真正改变的情况下意外开始工作时

c++ - Delphi:从导出接口(interface)/类的 vc++ dll 调用函数

c++ - 为什么 stat() 调用会针对文件大小返回不正确的零 (0) 值?

c++ - 从 std::vector 中删除多个对象?

c++ - vector 与双端队列运算符[]

c++ - 在 map 中使用 unique_ptr 时 std::pair 中的已删除函数