0 c++
我有一个std::map,我使用以下方法填充提供的数据类型的最大值.在这种情况下,如果K是,int那么最大值是2,147,483,647.我希望我的地图具有2,147,483,647相同值的键.
以下循环效率非常低.有没有减少时间消耗的方法?
for (auto i = keyBegin; i!=numeric_limits<K>::max(); i++) {
m_map[i] = val;
}
Run Code Online (Sandbox Code Playgroud)
上面代码的问题是你要插入20亿个数字,都在地图的末尾.但operator[]不知道你会在那里插入一个新项目!
std::map::insert(hint_before, value)是你需要的.你有一个完美的提示 - 所有的值都将直接插入m_map.end()
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |