假设验证码:unique_ptr的向量,继承?
class Parent {}
class Child : public Parent {}
static std::vector<std::unique_ptr<Child>> Foo();
有没有写这个功能的一个简单的方法:
std::vector<std::unique_ptr<Parent>> Bar() {
auto children = Foo();
std::vector<std::unique_ptr<Parent>> parents;
result.insert(result.end(), std::make_move_iterator(children.begin()),
std::make_move_iterator(children.end()));
return parents;
}
这不起作用:
std::vector<std::unique_ptr<Parent>> Bar() {
return Foo(); // Compiler error: cannot convert from vector<...> to vector<...>
}
FYI:这是完全一样的问题与生指针一样。 – rubenvb
@rubenvb:你是对的,我从来没有注意到...... :) –