У меня есть два вектора STL A и B, и я хотел бы очистить все элементы A и переместить все элементы B в A, а затем очистить B. Проще говоря, я хочу это сделать:
std::vector<MyClass> A;
std::vector<MyClass> B;
....
A = B;
B.clear();
Так как B может быть довольно длинным, для выполнения этой операции требуется k*O(N), где k - константа, а N - max(size_of(A), size_of(B)). Мне было интересно, может ли быть более эффективный способ сделать это. Одна вещь, о которой я мог подумать, - определить A и B как указатели, а затем скопировать указатели в постоянное время и очистить B.