C++でaMap[key]
とaMap.at(key)
を使って値を取得する方法の違いは何ですか?map []とmap.atの違いはC++ですか?
16
A
答えて
14
C++で11 map::at
が存在します(誰が知っていましたか?)。
キーが存在しない場合は、例外をスローし、find
aMap.end()
戻る要素が存在しない場合、およびNO値が存在しない場合operator[]
は対応するキーの新しい値値初期化。あなたは現在のマップの一部ではないインデックス演算子[]
を、使用してキーにアクセスする場合
28
はそれはは自動的のキーを追加します。これは大きな注意点です。これを考慮してください。このため、私は索引付け演算子[]
を設定に使用し、参照のために.find()
/.at()
を使用することをお薦めします。
[]
上.at()
を使用してのもう一つの利点は、[]
はないだろう一方で、それは、const std::map
上で動作させることができるという事実です。
関連する問題
- 1. ハスケル: `Map(a、b)c`と` Map a(Map b c) `の違いは?
- 2. std :: map insert()ヒント位置:C++ 98とC++の違い11
- 3. lodashの_.mapと_pluckの違いは何ですか?
- 4. KotlinのMutableMapとMapの違いは何ですか?
- 5. forEachとmapの大きな違いは何ですか?
- 6. ImmutableJS Map()とfromJS()の違いは何ですか?
- 7. Pythonマルチプロセッシング:mapとimapの違いは何ですか?
- 8. Scala Akka先物では、mapとflatMapの違いは何ですか?
- 9. Model.idsとModel.selectの違い(:ID)の.map(&:ID)
- 10. mapとmapToObjのJavaストリームの違い
- 11. mapPartitionとmapはどう違うのですか?
- 12. Dartの異なるMap実装の違いは何ですか?
- 13. pythonでmap(func、list)と[func(x)in listのxの違いは何ですか]
- 14. map、each、およびcollectの違いは何ですか?
- 15. CとC++での "const"の違いは何ですか?
- 16. Windows 7ではC:とC:\の違いはありますか?
- 17. map reduceのTotal order sortingとsecondary sortingの違いは何ですか?
- 18. jtype(JNIの)とC/C++のタイプの違いは何ですか?
- 19. C/C++のrand、urandとirandの違いは何ですか?
- 20. map <string、pair <string、foo * >>とmap <string、pair <string、foo&>>の違いは何ですか?
- 21. var map = HashMap <Int,String>()とvar map = HashMap <Int,String>(n)の違いは何ですか?
- 22. 「Cシステムコール」と「Cライブラリルーチン」の違いは何ですか?
- 23. c-findとc-get DIMSEの違いは何ですか?
- 24. "C#editor"と "C#editor with encoding"の違いは何ですか?
- 25. 違い、C++、C#とJavaは
- 26. C++の "new"と "malloc"と "calloc"の違いは何ですか?
- 27. python 3.4とpython 2.7のmap、enumerate、lambdaの違いは?
- 28. C++&arrayとarrayの使い方の違いは何ですか?
- 29. C#(かなり遅い)とWin32/Cのパフォーマンスの違いはなぜですか?
- 30. C++でのマルチスレッドのjoin()とdetach()の違いは何ですか?
[もちろんそうです](http://en.cppreference.com/w/cpp/container/map/at)... –
@KerrekSB(C++ 11以降)はそれを知らなかった。 –