[解決済み] 2つのSTLマップをマージするにはどうしたらいいですか?
2023-07-28 18:03:06
質問
2つのSTLマップを1つに統合するにはどうしたらよいでしょうか。2つとも同じキーと値の型を持っています (
map<string, string>
). キーが重複している場合は、どちらかのマップを優先したいと思います。
どのように解決するのですか?
の要素を保持するとして、そのために
mapA
の要素を保持し
mapB
にキーがないものは
mapA
:
mapA.insert(mapB.begin(), mapB.end())
は、あなたが望むことをやってくれると思います。
(編集: C++17以降を使用している場合は、この回答を検討してください。 https://stackoverflow.com/a/56594603/118150 )
作業例です。
#include <iostream>
#include <map>
void printIt(std::map<int,int> m) {
for(std::map<int,int>::iterator it=m.begin();it!=m.end();++it)
std::cout << it->first<<":"<<it->second<<" ";
std::cout << "\n";
}
int main() {
std::map<int,int> foo,bar;
foo[1] = 11; foo[2] = 12; foo[3] = 13;
bar[2] = 20; bar[3] = 30; bar[4] = 40;
printIt(foo);
printIt(bar);
foo.insert(bar.begin(),bar.end());
printIt(foo);
return 0;
}
を出力します。
:!./insert
1:11 2:12 3:13
2:20 3:30 4:40
1:11 2:12 3:13 4:40
関連
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】デバッグアサーションに失敗しました
-
[解決済み] 2 つの Git リポジトリをマージする方法は?
-
[解決済み] Git で特定のコミットをマージする方法
-
[解決済み] git merge` で `--no-ff` フラグはどのような効果がありますか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み】STLのマップでは、[]よりもmap::insertを使う方が良いのか?]
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件
-
[解決済み】'std::cout'への未定義の参照