开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
STL
问题(Question):
C++ 中使用 map 有没有什么方法可以直接取到最后一笔的 fist 值。
如:
for (g_iter=g_bk.begin();g_iter!=g_bk.end();++g_iter) {
last_no = g_iter->first;
}
有没有方法不需要loop完,就可以抓出最后一笔的 fist 字段直。
有什么要找最后一笔的理由吗?hashmap本身没顺序的概念,第一笔和最后一笔有何不同?
作者: jaid (jaid) 2015-05-06 16:54:00
unordered_map才是hash 你是要问哪个
我使用的是typedef std::hash_map<int,string> hm;
unordered_map基本上跟hash_map差不多只是加入标准时怕跟现存hash_map撞名才换怪名字问题还是"最后一笔"对你而言到底有什么特别的?
作者:
BlazarArc (Midnight Sun)
2015-05-06 17:55:00你在一个没有order的容器中找last的意义是?而且hash_map是compiler extension
作者:
wuliou (wuliou)
2015-05-06 18:55:00要找最后一笔的画你干嘛用hashmap?
谢谢,我改成使用map, 那请问有办法不loop抓到最后一笔的 first 字段值吗(不需全部loop)
作者:
suhorng ( )
2015-05-07 10:31:00_.end() - 1 或 _.rbegin()不对, 应该要 --_.end()
作者:
BlazarArc (Midnight Sun)
2015-05-07 11:18:00std::map::rbegin()