c++ - 用于搜索和排序的最佳容器

标签 c++ stl

我有一个用于存储日志数据的纯虚拟类。这个类有两条信息:std::string id(唯一)和int64_t time(允许重复),getId()getTime() 函数。当日志条目被创建时,它们将进入容器并在应用程序终止时将日志消息写入文件。

随着程序的继续,我可能想要更新日志条目,因此我需要搜索 id 以找到要更新的正确条目。关机时,我希望按时间顺序记录结果。

我想到将对象存储在 std::map 中,其中 id 作为键,对象作为值,以便于搜索和更新。关闭时,创建一个 std::multimapstd::vector 以在写入前进行排序。这是最好的方法吗?或者是否有更好的对象可以支持这两种需求?

最佳答案

Containers
(来源:adrinael.net)

(原始来源:Liam Devine)

关于c++ - 用于搜索和排序的最佳容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7151672/

相关文章:

c++ - 如何在 Windows XP 中获取快速启动栏的大小?

c++ - 使用一个简单的 assert() 宏

c++ - std::list 中无锁的并行追加和迭代

c++ - boost::interprocess : shared memory and STL types

c++ - 向下转型 `vector<Parent>`

c++ - 未解析的外部符号错误,即使函数存在 char*

c++ - 在 C++ 中调用静态函数

c++ - 调用存储在 vector 中的对象的成员函数

c++ - 对于以下类型的数据表示,什么是好的数据结构?

c++ - 真的对 map::erase() 感到困惑