我有一个用于存储日志数据的纯虚拟类。这个类有两条信息:std::string id
(唯一)和int64_t time
(允许重复),getId()
和getTime()
函数。当日志条目被创建时,它们将进入容器并在应用程序终止时将日志消息写入文件。
随着程序的继续,我可能想要更新日志条目,因此我需要搜索 id
以找到要更新的正确条目。关机时,我希望按时间
顺序记录结果。
我想到将对象存储在 std::map
中,其中 id
作为键,对象作为值,以便于搜索和更新。关闭时,创建一个 std::multimap
或 std::vector
以在写入前进行排序。这是最好的方法吗?或者是否有更好的对象可以支持这两种需求?
最佳答案
(来源:adrinael.net)
(原始来源:Liam Devine)
关于c++ - 用于搜索和排序的最佳容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7151672/