reinterpret_cast vector of class A to vector of class B

前端 未结 3 673
抹茶落季
抹茶落季 2020-12-22 08:21

Say I have two classes A and B, and a vector of class A as below:

class A {
    int foo;
    int bar;
    void someMet         


        
3条回答
  •  无人及你
    2020-12-22 08:47

    You might be able to get away with making a union type C which can be read as int or uint and making a vector of that instead.

    union C {
        int s;
        uint u;
    };
    
    std::vector va;
    

    But that won't work if you need to pass it into a method that expects a vector.

    In my opinion the right way to fix this is to make the method that expects a vector into a template so that it can accept any container type. Even better, make it like the STL methods and take an iterator or iterator pair.

提交回复
热议问题