我正在制作一个向量指针的向量:
std::vector<std::vector<Base>*> all; // vector keeping pointers to vectors
问题是我有几个派生类的向量:
std::vector<Derived1> derived1; // vector of derived class
std::vector<Derived2> derived2; // vector of derived class
std::vector<Derived3> derived2; // vector of derived class
有没有安全的方法可以将指针类型从vector<DerivedX>
更改为vector<Base>
?
每个派生类都会分享某些行为,并且在程序的大部分时间里它们都会存在。
如果有任何关于细节的问题出现,我仍然不擅长解释我的编程问题 - 请在评论中提问。
答案 0 :(得分:9)
不,那是不可能的。 NumberCalls = pivot_table.stack().astype(int).tolist()
和std::vector<Base>
之间没有任何关系。
换句话说:std::vector<Derived>
不是来自std::vector<Derived>
。