[問題] hash_map 取最後一筆的值

作者: TwoDemon (飛天)   2015-05-06 15:40:42
開發平台(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 欄位直。
作者: azureblaze (AzureBlaze)   2015-05-06 15:49:00
有什麼要找最後一筆的理由嗎?hashmap本身沒順序的概念,第一筆和最後一筆有何不同?
作者: jaid (jaid)   2015-05-06 16:54:00
unordered_map才是hash 你是要問哪個
作者: TwoDemon (飛天)   2015-05-06 17:24:00
我使用的是typedef std::hash_map<int,string> hm;
作者: azureblaze (AzureBlaze)   2015-05-06 17:51:00
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?
作者: TwoDemon (飛天)   2015-05-07 09:12:00
謝謝,我改成使用map, 那請問有辦法不loop抓到最後一筆的 first 欄位值嗎(不需全部loop)
作者: suhorng ( )   2015-05-07 10:31:00
_.end() - 1 或 _.rbegin()不對, 應該要 --_.end()
作者: BlazarArc (Midnight Sun)   2015-05-07 11:18:00
std::map::rbegin()
作者: azureblaze (AzureBlaze)   2015-05-07 11:31:00
我還是覺得你根本不知道你在做什麼

Links booklink

Contact Us: admin [ a t ] ucptt.com