1. ホーム
  2. c++

[解決済み] map<int,int> デフォルト値

2023-03-20 05:29:55

質問

std::map<int,int> mapy;
++mapy[5];

というのは大丈夫でしょうか? mapy[5] は常に1であると仮定してよいのでしょうか?つまり mapy[5] は、私のコードのように明示的に宣言されていない場合でも、常に '++' の前のデフォルト値である 0 を取得するのでしょうか?

どのように解決するのですか?

mapに[]演算子でアクセスするとすぐに、キーが存在しない場合は追加されます。intはquot;値の初期化"が実行されるので、0という値が取得されます。