JavaScriptでは
javascript
1const obj = { 2 "M" : 45, 3 "T" : 15, 4 "S" : 64, 5 "H" : 31, 6 "R" : 2 7}
このように連想配列を定義することができ、尚且つ
javascript
1for(let i in obj){ 2 console.log(obj[i]) 3} 4//=> 45 5//=> 15 6//=> 64 7//=> 31 8//=> 2
このようにイテレートすることで定義した順に出力することができます。このノリでC++のmapを使い
c++
1map<string,string> obj{ 2 {"M", 45}, 3 {"T", 15}, 4 {"S", 64}, 5 {"H", 31}, 6 {"R", 2}, 7}
と定義し、同じようにイテレートすれば定義順に出ると思いきや
c++
1for (const auto &[key, value] : names){ 2 cout << value << endl; 3} 4//=> 31 5//=> 45 6//=> 2 7//=> 64 8//=> 15
このように勝手に第一引数でソートされてしまいます。
C++でJavaScriptのオブジェクトのような挙動をする連想配列の作り方をどなたか教えてください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。