我有一个包含A-s的容器。
B,C,D,E,......实施A.
什么是效率最高的&最安全的查找方法,例如第一个C对象? (所以第一个对象,其类型为C)
我想到了unordered_map with<字符串,A>但是字符串并不是非常安全,因为它们只是在运行时检查过。
答案 0 :(得分:1)
了解哪种方式更有效的唯一方法是在您的平台上测试它并测量时间,比较解决它的不同方法。
例如,我使用枚举来加速搜索和索引树。
enum objType
{
A = 1,
B,
C,
D
};
容器可能应该是:
unordered_map < objType, A* >
但是如果您需要存储多个类型的对象,请考虑使用multimap
unordered_multimap < objType, A* >