2013-01-01 11 views
6

क्या यह जांचने का कोई आसान तरीका है कि std::unordered_map::insert कॉल कोड के इस विशाल ब्लॉक को लिखने से सफल हुआ है?std :: unordered_map :: insert का सरल रूप?

std::pair< T1, T2 > pair(val1, val2); 
std::pair< std::unordered_map< T1, T2 >::const_iterator, bool> ret = 
_tileTypes.insert(pair); 
if(!ret.second) { 
    // insert did not succeed 
} 

उत्तर

12

कैसे बस के बारे में:

if(!_tileTypes.insert(std::make_pair(val1, vla2)).second) { 
    // insert did not succeed 
} 
11
if (!_tileTypes.insert(pair).second) 

?

वैकल्पिक रूप से, टाइपपीफ इस तरह की चीज को साफ करने के लिए उपयोगी हो सकते हैं।

इसके अलावा, आप सी ++ 11 उपयोग कर रहे हैं, तो आप auto कीवर्ड का उपयोग कर सकते प्रकार अनुमान लगाने के लिए:

+0

और आप पहुंच की जरूरत है 'सेकेंड' की जांच करने के बाद 'सबसे पहले', आप लंबे रिटर्न मूल्य प्रकार को सरल बनाने के लिए 'ऑटो' का उपयोग कर सकते हैं। –

संबंधित मुद्दे