【发布时间】:2015-12-04 23:00:22
【问题描述】:
对于std::map,我是否可以始终相信begin() 在迭代时根据类型的比较运算符返回具有最小键的元素?
换句话说……
std::map<Key, SomeClass>::iterator smallestKeyIt = someMap.begin(); 会给我地图中键最小的对吗?
这是为std::map 保证的顺序还是我可以以某种方式配置它?我的理解是,在执行添加和删除元素等操作时,底层树结构保持有序。
【问题讨论】:
-
begin返回一个引用最小键的迭代器。最小键由映射的比较运算符定义,默认为<,但可以被覆盖。插入或删除时地图保持有序。