gpt4 book ai didi

c++ - 将一对插入 map 并增加计数?

转载 作者:搜寻专家 更新时间:2023-10-31 02:05:05 26 4
gpt4 key购买 nike

我正在使用的代码库使用 map::operator[] 插入将该条目中的项目计数增加一个(这是一门知识我的差距)。这是一个例子:

map<string, size_t> namesMap;
namesMap[firstName]++;

我想做的是在插入时添加一个 ID,同时保留上述语法中的递增行为。

我的新 map 看起来像这样:

map<string, pair<int, size_t>> namesMapWithID;

我正在努力了解如何使用我的新 map 获得等效的功能。这基本上是我的目标(显然是错误的,因为不能以这种方式使用“++”):

namesMapWithID.insert(firstName, make_pair(employeeID, ++));

是否有我缺少的更好的方法?

最佳答案

您可以通过使用插入方法及其返回的 it/bool 对来执行此操作,从而提供单个查找(按名称),如果在初始查找时设置员工 ID,然后分别递增计数器。

像这样:

auto pr = namesMapWithID.insert(std::make_pair(firstName,
std::make_pair(employeeID, size_t())));
++pr.first->second.second;

关于c++ - 将一对插入 map 并增加计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52488092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com