簡體   English   中英

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

問題是我有幾個派生類的向量:

    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>嗎?

每個派生類都具有某些行為,並且在程序的大部分時間內都將存活。

如果出現有關細節的任何問題,我仍然不能很好地解釋我的編程問題-請在評論中提問。

不,那是不可能的。 std::vector<Base>std::vector<Derived>之間沒有關系。

換句話說: std::vector<Derived>不是從std::vector<Base>派生的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM