std::vector::swap 对比 std::vector::operator= 的表现
Performance of std::vector::swap vs std::vector::operator=
给定两个等长的向量:
std::vector<Type> vec1;
std::vector<Type> vec2;
如果vec2
的内容需要替换成vec1
的内容,使用
是不是更高效
vec2.swap(vec1);
或
vec2 = vec1;
假设vec1
会保留在内存中,但操作后的内容无关紧要?另外,有没有我没有考虑过的更有效的方法?
给定两个等长的向量:
std::vector<Type> vec1;
std::vector<Type> vec2;
如果vec2
的内容需要替换成vec1
的内容,使用
vec2.swap(vec1);
或
vec2 = vec1;
假设vec1
会保留在内存中,但操作后的内容无关紧要?另外,有没有我没有考虑过的更有效的方法?