マップを次のようにmap <string , int>
します。文字列を挿入したいのですが、同じ文字列が再度挿入された場合は、カウントを整数部分に格納します。方法を教えてください??
5 に答える
2
次のコードでこれを簡単に行うことができます:my_map[key]++;
于 2013-02-15T15:00:22.793 に答える
2
これを行う:
++m.insert(std::make_pair("Hello", 0)).first->second;
またはもっと簡単に:
++m["hello"];
insert
最初のアプローチでは、操作の結果を保存する場合、文字列が既に存在するかどうかを確認できます。たとえばauto p = m.insert(...); ++p.first->second;
、p.second
挿入操作が成功したかどうかがわかります。
于 2013-02-15T14:59:43.693 に答える
1
実際、私はそれでm["key"]++
うまくいくと信じています。
于 2013-02-15T15:00:35.860 に答える
1
なので、必要なのは次のとおりですint{}
。0
++m[str];
于 2013-02-15T15:00:48.990 に答える
1
find()メソッドを使用して、キーがマッピングにあるかどうかを確認します。
std::map<string, int> mapping;
std::string str;
//...
if(mapping.find(str) != mapping.end()) {
mapping[str]++;
} else {
mapping[str] = 1;
}
于 2013-02-15T15:01:17.303 に答える