gpt4 book ai didi

c++ - 从基本指针的源容器构造一个派生指针的容器

转载 作者:行者123 更新时间:2023-12-01 14:58:14 24 4
gpt4 key购买 nike

如何有效地从基本指针的 vector 返回派生指针的 vector ?

std::vector<const Base*> getb();
std::vector<const Derived*> getd()
{
auto vb = getb(); /// I know for a fact all vb elements point to Derived
return ...;
}
Derived不能直接从 Base继承

对象存在于具有过程生存期的其他容器中。

提高::范围?

最佳答案

I know for a fact all vb elements point to Derived



最好的做法是用类型来表达该断言。如果您知道元素的更好类型,为什么 getb()首先返回基指针 vector ?从一开始就使其成为派生指针的 vector 。

失败的话,您需要对 dynamic_cast中的每个指针进行 vb编码,然后将结果放入另一个容器中。其他 Actor 可能会或可能不会。

关于c++ - 从基本指针的源容器构造一个派生指针的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59703355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com