gpt4 book ai didi

c++ - 在通用容器中查找特定实现

转载 作者:行者123 更新时间:2023-11-30 05:19:54 24 4
gpt4 key购买 nike

我有一个包含 A-s 的容器。

B、C、D、E、……实现 A。

找到例如第一个 C 对象的最有效和最安全的方法是什么? (所以第一个对象,其类型是 C)

我考虑过使用 的 unordered_map,但字符串不是很安全,因为它们只在运行时检查。

最佳答案

了解哪种方法更有效的唯一方法是在您的平台上进行测试并测量时间,比较不同的解决方法。

例如,我建议使用枚举来加速树的搜索和索引。

enum objType
{
A = 1,
B,
C,
D
};

容器可能应该是:

 unordered_map < objType, A* >

但是如果你需要存储一个类型的多个对象,你应该考虑使用multimap

 unordered_multimap < objType, A* >

关于c++ - 在通用容器中查找特定实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40935068/

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