[解決済み] キーが存在しないmapの値を読み込むとどうなりますか?
2022-12-16 02:07:34
質問
map<string, string> dada;
dada["dummy"] = "papy";
cout << dada["pootoo"];
私はそれが未定義の動作と見なされるかどうかわからないので困惑しています。存在しないキーを要求したときにどのように知ることができますか、私は代わりに検索を使用するだけですか?
どのように解決するのですか?
この
map::operator[]
は、与えられたキーに対応する値をデータ構造から検索し、それへの参照を返します。
もし見つからない場合は、透過的にそのためのデフォルトの構成要素を作成します。 (この振る舞いを望まない場合は
map::at
関数を使うことができます)。
std::mapのメソッドの完全なリストはこちらで得られます。
http://en.cppreference.com/w/cpp/container/map
以下は
map::operator[]
を現在のC++標準から引用しています。
23.4.4.3 マップ要素へのアクセス
T& operator[](const key_type& x);
-
効果 マップにxに相当するキーがない場合、value_type(x, T())をマップに挿入する。
-
Requires: key_typeはCopyConstructibleでなければならず、 mapped_typeはDefaultConstructibleでなければならない。
-
を返します。this の x に対応する mapped_type への参照。
-
複雑さ:対数的。
T& operator[](key_type&& x);
-
効果 xに相当するキーがマップにない場合、value_type(std::move(x), T())をマップに挿入する。
-
Requires: mapped_typeはDefaultConstructibleでなければなりません。
-
を返します。this の x に対応する mapped_type への参照。
-
複雑さ:対数的。
関連
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 8192個の要素にループをかけると、プログラムが遅くなるのはなぜですか?
-
[解決済み] std::stringをintに変換するにはどうしたらいいですか?
-
[解決済み] C++の規格では、初期化されていないboolがプログラムをクラッシュさせることは可能ですか?
-
[解決済み] 些細なキーの場合、unordered_mapよりもmapを使用する利点はありますか?
-
[解決済み] C++の文字列==とcompare()の違い?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】mapがキーに値を含むかどうかを判断する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み】デバッグアサーションに失敗しました