在 std::map 中获取所有唯一映射值的最快方法

d-_*_*_-b 5 c++ performance stdmap

我有这样一张地图:

std::map<time_t, int>
Run Code Online (Sandbox Code Playgroud)

每天 (time_t) 有一个值 (int)。有些日子可能具有相同的值,因此可能不是唯一的。我需要为此地图中的每个唯一 int 值执行计算。

检索它们的最快(最少 CPU 使用率)方法是什么?

Guy*_*ini 3

你有记忆限制吗?如果没有,我将保留一个 std::set (或您的环境中可用的 hash_set)列出唯一整数。

如果您绝对无法分配更多内存,也许您应该首先考虑使用不同的数据结构。