GMa*_*ckG 105
结束:
m.rbegin();
Run Code Online (Sandbox Code Playgroud)
映射(和集合)是排序的,因此第一个元素是最小的,最后一个元素是最大的.默认情况下map使用std::less,但你可以切换比较器,这当然会改变最大元素的位置.(例如,使用std::greater将它放在begin().
请记住rbegin返回迭代器.要获得实际密钥,请使用m.rbegin()->first.为了清楚起见,你可能会把它包装成一个函数,虽然我不确定它是否值得:
template <typename T>
inline const typename T::key_type& last_key(const T& pMap)
{
return pMap.rbegin()->first;
}
typedef std::map</* types */> map_type;
map_type myMap;
// populate
map_type::key_type k = last_key(myMap);
Run Code Online (Sandbox Code Playgroud)
use*_*783 12
std :: map中的条目是排序的,因此对于std :: map m(假设m.empty()为false),您可以轻松获得最大的键:(--m.end())->first
| 归档时间: |
|
| 查看次数: |
33855 次 |
| 最近记录: |