История изменений
Исправление
romeo250501,
(текущая версия)
:
#include <iostream>
#include <vector>
#include <string>
#include <utility> // std::move
void MoveStrings(
std::vector<std::string> &dst,
std::vector<std::string> &src
) {
for (auto &item : src) {
dst.emplace_back(std::move(item));
}
src.clear();
}
int main() {
std::vector<std::string>
dst = {"a"},
src = {"b", "c"};
MoveStrings(dst, src);
std::cout << "dst:\n";
for (auto &item : dst)
std::cout << item << '\n';
std::cout << "src:\n";
for (auto &item : src)
std::cout << item << '\n';
}
💢 ./a.out
dst:
a
b
c
src:
Исходная версия Deleted, :
#include <iostream>
#include <vector>
#include <string>
#include <utility> // std::move
void MoveStrings(
std::vector<std::string> &dst,
std::vector<std::string> &src
) {
for (auto &item : src) {
dst.emplace_back(std::move(item));
}
src.clear();
}
int main() {
std::vector<std::string>
dst = {"a"},
src = {"b", "c"};
MoveStrings(dst, src);
std::cout << "dst:\n";
for (auto &item : dst)
std::cout << item << '\n';
std::cout << "src:\n";
for (auto &item : src)
std::cout << item << '\n';
}