Господа, если не сложно, напомните мне пожалуйста, как мы поступаем в такой ситуации в этом нашем новом c++?
struct Bar {
void set_foos(const std::vector<Foo> &foos) {} // 1)
};
viod f()
{
std::vector<Foo> foos;
while (!done) {
if (cond1) {
Foo foo;
foo.load_from(file);
foos.push_back(foo);
}
if (cond2) {
cur_bar.set_foos(foos); // 2)
foos.clear();
}
}
}
Я хочу чтобы содержимое вектора foos премещалось в cur_bar, а не копировалось
И при этом чтобы foos очищался и его можно было продолжать использовть
Какой интерфейс должен быть в 1) и что делать в 2) ?