首页 > 解决方案 > C++:从 const 向量转换为常量向量安全的?

问题描述

派生扩展基础。

我有一个vector<Derived*>.

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

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

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

因为 MyFunc 不能向向量中添加元素,所以向量应该始终有效?

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

标签: c++casting

解决方案


推荐阅读