C++ 将 std::vector<Derived>* 转换为 std::vector<Base> ...?
C++ casting a std::vector<Derived>* to std::vector<Base> ...?
我正在制作一个指向向量的指针向量:
std::vector<std::vector<Base>*> all; // vector keeping pointers to vectors
问题是我有几个导出的向量 classes:
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>
?
每个派生的 class 共享特定的行为,并且它们将在程序生命周期的大部分时间都存在。
我仍然不善于解释我的编程问题,如果出现任何有关细节的问题 - 请在评论中提问。
不,那不可能。 std::vector<Base>
和std::vector<Derived>
没有关系。
换句话说:std::vector<Derived>
并非源自 std::vector<Base>
。
我正在制作一个指向向量的指针向量:
std::vector<std::vector<Base>*> all; // vector keeping pointers to vectors
问题是我有几个导出的向量 classes:
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>
?
每个派生的 class 共享特定的行为,并且它们将在程序生命周期的大部分时间都存在。
我仍然不善于解释我的编程问题,如果出现任何有关细节的问题 - 请在评论中提问。
不,那不可能。 std::vector<Base>
和std::vector<Derived>
没有关系。
换句话说:std::vector<Derived>
并非源自 std::vector<Base>
。