gpt4 book ai didi

c++ - 通过id实现hash_map & vector的遍历和访问

转载 作者:行者123 更新时间:2023-11-28 07:56:31 25 4
gpt4 key购买 nike

我正在设计我的程序的核心,并且有各种实体,我目前循环通过这些实体来调用 update()。我有大约 10 个包含我的对象的 vector,尽管将来可能会增长到更大的数量。我刚刚意识到我需要定期通过 id 查找这些元素,因此我不得不循环遍历所有元素以查找正确的 id。

我正在考虑创建一个包含 id 以及指向对象本身的指针的 hashmap。这是最有效的方法吗? id 是半随机的,尽管它们只在整个程序中增加,每个列表中的每个元素都有一个唯一的 id(每次分配一个 id 计数器都会增加)。 vector 中的元素现在经常被删除和添加。除了 java 中的一小部分之外,我对 HashMap 的工作不多,所以我不确定这是否是一条有效的途径。我相信代码仍然是可读的,但是除了 hash_map 之外还有其他更适合这个的选项吗?谢谢

最佳答案

我不确定你为什么有 10 个 vector - 如果对象可以存储在一个排序的 vector 中,你可以使用 binary_search找到对象(记得在每次插入后对其进行排序)。

当然,hash_map 也可以,但会占用空间/内存。

关于c++ - 通过id实现hash_map & vector的遍历和访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12592406/

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