c++ - C++:从 const 向量转换为常量向量 安全的?
问题描述
派生扩展基础。
我有一个vector<Derived*>
.
我需要调用带有签名的函数MyFunc(const vector<Base*>&)
以下代码是否安全(假设没有 const_cast)?
vector<Derived*> DerivedVec;
vector<Base*>& BaseVec = *reinterpret_cast<vector<Base*>*>(&DerivedVec);
MyFunc(BaseVec);
因为 MyFunc 不能向向量中添加元素,所以向量应该始终有效?
出于性能原因,我不想复制向量。
解决方案
推荐阅读
- php - SimplesamlPHP 无限重定向
- java - 如何仅使用列名从 excel 中获取列值?
- angular - 下拉列表中的选定项目未在 Angular 2/4 中显示
- jquery - 引导选择无法正确更新选定的选项
- google-chrome - 如何删除所有重复的 URL 并仅保留 Google Chrome 历史记录中的最后一次访问?
- c++ - Qt 为多行文本绘制轮廓
- azure - 在 java sdk 中配置虚拟机期间的 OS 磁盘类型支持
- elasticsearch - Elasticsearch 6.3:未知插件 Marvel-agent
- php - 无法使用 PHP 将图像从 android 插入 SQL Server 数据库
- r - 跳过多次迭代运行中 AUC = 1 的 ROC 曲线的平滑步骤