Ale*_*den 3 c++ stl unordered-map c++11
鉴于:
unordered_map<string, float> my_map
Run Code Online (Sandbox Code Playgroud)
还有一对:
auto my_pair = make_pair("some_key", some_float);
Run Code Online (Sandbox Code Playgroud)
如果some_key不存在,如何有效地将对插入到地图中,
如果some_key存在,则自动添加some_float到密钥的现有值?
我目前的解决方案(或缺乏它,肯定有更优雅的方式):
auto added = my_map.emplace(my_pair);
if(!added.second) { // my_key already has an associated value
auto &curr_value = *my_map.first; // pointer to the existing pair
curr_value.second += my_pair.second; // add some_float
}
Run Code Online (Sandbox Code Playgroud)
Ben*_*ley 10
my_map["some_key"] += some_float;
Run Code Online (Sandbox Code Playgroud)
如果它尚不存在,则将初始化浮点值(即将其设置为0.0f).然后它会添加some_float(无论是否存在).
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |