这是我的设置:
class C {
public:
template<typename T>
void addFrom(T begin, T end){
std::move(begin, end,
std::back_inserter(vec));
}
std::vector<B> vec;
};
class A {
C object;
std::vector<B> vec;
void passRangeToObject(){
C.addFrom(std::make_move_iterator(
vec.rbegin()),
std::make_move_iterator(vec.rbegin()
+5));
}
};
运行代码后,将B对象添加到C对象向量中,但不会将它们从A的向量中删除。有什么好的解决办法吗?