C ++:交换两个不同向量的两个元素(C++: Swap two elements of two different vectors)
std::vector<int> v1 = {1,3,6};
std::vector<int> v2 = {2,4,7};
交换v1 [m]与v2 [n]
而不是复制,然后只是覆盖这两个元素
我试过了
std::swap(v1.begin() + m, v2.begin() + n);但那不起作用
std::vector<int> v1 = {1,3,6}; std::vector<int> v2 = {2,4,7};swap v1[m] with v2[n]
instead of copying and then just overwriting both elements
I tried
std::swap(v1.begin() + m, v2.begin() + n);but that didn't work
最满意答案
std::swap期望引用,而不是迭代器:
std::swap(v1[m], v2[n]);std::swap expects references, not iterators:
std::swap(v1[m], v2[n]);更多推荐
发布评论