Uso*_*chi 1 c++ stl casting vector c++11
我正在制作一个向量指针的向量:
std::vector<std::vector<Base>*> all; // vector keeping pointers to vectors
Run Code Online (Sandbox Code Playgroud)
问题是我有几个派生类的向量:
std::vector<Derived1> derived1; // vector of derived class
std::vector<Derived2> derived2; // vector of derived class
std::vector<Derived3> derived2; // vector of derived class
Run Code Online (Sandbox Code Playgroud)
有没有从改变指针的类型的任何安全的方式vector<DerivedX>来vector<Base>?
每个派生类都会分享某些行为,并且在程序的大部分时间里它们都会存在.
如果有任何关于细节的问题出现,我仍然不擅长解释我的编程问题 - 请在评论中提问.
不,那是不可能的.std::vector<Base>和之间没有任何关系std::vector<Derived>.
换句话说:std::vector<Derived>不是源于std::vector<Base>.