Tal*_*eed 4 c++ polymorphism vector static-cast reinterpret-cast
是否有可能投出std::vector<std::shared_ptr<Object>>到std::vector<std::shared_ptr<SpecializedObject>>那里SpecializedObject继承Object,无需建立一个新的数组(或通过矢量迭代)?
简答:不.
答案很长:
std::vector<std::shared_ptr<Object>>并且std::vector<std::shared_ptr<SpecializedObject>>是完全不同且无关的野兽,你不能从一种类型转换为另一种类型.
您必须遍历该向量并从中创建一个新向量.
提示:你仍然可以static_pointer_cast在迭代时使用指针来投射(当然你知道自己在做什么).
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |