说我有两个班A
,并B
和阶级的载体A
如下:
class A {
int foo;
int bar;
void someMethod();
};
class B {
uint foo;
uint bar;
void someOtherMethod();
};
std::vector<A> va;
Run Code Online (Sandbox Code Playgroud)
并且我想将其解释va
为B的向量,因为int
并且uint
可以重新解释.
重新解释的最佳做法是什么?例如,如果我想要调用someOtherMethod()
上va
,我能做到((std::vector<B> *)(&va))->someOtherMethod()
.但这是最好的做法吗?
在我看来,这reinterpret_cast<std::vector<B> >(va).someOtherMethod()
不起作用.
另外,我正在研究C++ 03.
- 更新 -
很抱歉我误解了自己的问题.然而,我的问题与这个问题有很大的不同.所以我创造了另一个问题在这里.
我将很快结束这个问题:这个问题可以看作是一个独立的问题,我认为下面的答案之一已经足够被接受了.