質問: 1; } cout << mp.size() << endl; return 0; } ```
回答: 挙動は他の方が答えているとおりで正しいのですが、今回の場合、キーに対応する値が常に `1` であり、保存する意味がありません。このような場合は `std::set` を用いるほうが良いです。`std::set` は、`T` 型の(重複しない)値の集合を表します。すでに挿入された値をもう一度挿入すると何も起こりません。 今回のコードの場合、 `map` の代わりに `set`、`mp[num] = 1` の代わりに `mp.insert(num)` とすることで書き換えることができます。