C ++:从const vector <派生*>强制转换为const vector <base *>是否安全?

时间:2018-08-23 20:29:16

标签: c++ casting

派生扩展Base。

我有一个vector<Derived*>

我需要调用签名为MyFunc(const vector<Base*>&)的函数

以下代码是否安全(假设没有const_cast)?

vector<Derived*> DerivedVec;
vector<Base*>& BaseVec = *reinterpret_cast<vector<Base*>*>(&DerivedVec);
MyFunc(BaseVec);

因为MyFunc无法向向量添加元素,所以向量应该始终有效?

出于性能原因,我不想复制该向量。

0 个答案:

没有答案