作者DRLai (蘇打)
看板C_and_CPP
標題[問題] hash_map有辦法給予預設值嗎?
時間Tue May 19 11:58:19 2009
我想使用hash_map增加速度
有一個小疑問
當某一個key不存在hash_map時
他的預設值為0
hash_map<string, float> test;
cout<<test["abc"]<<endl;
//abc字串不存在,輸出為0
請問有辦法指定他不存在的預設值嗎?
我想到的一種作法是
it = test.find("abc");
if( it != test.end() )
cout<<test["abc"]<<endl;
else
cout<<"-1"<<endl;
先測試該key是否存在,若存在直接輸出
若不存在則強制輸出為-1...
不知道有沒有其他作法呢?
感謝:)
--
▊ ◥ thePainter. ◤ ▎
▊ ◣◢
◣ ◤ ◣
◤ ▎
▊ ◥◤ ◣
◤ ◤ ▎ http://www.wretch.cc/blog/myelf
▊ ◥ ◢ ◤ ◤ ◤
▎ Wretch@BBS -> P_myelf
▊ ◢◤ thePainter. ◣ ▎ φthePainter.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.145.212
推 TroyLee:我用 Google 的 SparseHash 可以做得到 05/19 14:16
→ iamivers0n:第二個方法會比較好,第一個方法會增加一組mapping 05/19 14:23
推 chrisdar:問題可轉成 為什麼float()是0.0 05/19 14:36