看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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 欄位直。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.19.162 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430898046.A.AAF.html
azureblaze: 有什麼要找最後一筆的理由嗎? 05/06 15:49
azureblaze: hashmap本身沒順序的概念,第一筆和最後一筆有何不同? 05/06 15:49
jaid: unordered_map才是hash 你是要問哪個 05/06 16:54
TwoDemon: 我使用的是typedef std::hash_map<int,string> hm; 05/06 17:24
azureblaze: unordered_map基本上跟hash_map差不多 05/06 17:51
azureblaze: 只是加入標準時怕跟現存hash_map撞名才換怪名字 05/06 17:52
azureblaze: 問題還是"最後一筆"對你而言到底有什麼特別的? 05/06 17:52
BlazarArc: 你在一個沒有order的容器中找last的意義是? 05/06 17:55
BlazarArc: 而且hash_map是compiler extension 05/06 17:55
wuliou: 要找最後一筆的畫你幹嘛用hashmap? 05/06 18:55
TwoDemon: 謝謝,我改成使用map, 那請問有辦法不loop抓到 05/07 09:12
TwoDemon: 最後一筆的 first 欄位值嗎(不需全部loop) 05/07 09:12
suhorng: _.end() - 1 或 _.rbegin() 05/07 10:31
suhorng: 不對, 應該要 --_.end() 05/07 10:32
BlazarArc: std::map::rbegin() 05/07 11:18
azureblaze: 我還是覺得你根本不知道你在做什麼 05/07 11:31