Что такое C ++ эквивалент коллекций python.Counter?

Питон collections.Counter объект отслеживает количество объектов.

>> from collections import Counter
>> myC = Counter()
>> myC.update("cat")
>> myC.update("cat")
>> myC["dogs"] = 8
>> myC["lizards"] = 0
>> print(myC)
{"cat": 2, "dogs": 8, "lizards": 0}

Есть ли аналогичный объект C ++, где я могу легко отслеживать количество появлений типа? Может быть map в string? Имейте в виду, что приведенное выше является лишь примером, и в C ++ это будет обобщать для других типов для подсчета.

1

Решение

Вы могли бы использовать std::map лайк:

#include <iostream>
#include <map>

int main()
{
std::map<std::string,int> counter;
counter["dog"] = 8;
counter["cat"]++;
counter["cat"]++;
counter["1"] = 0;

for (auto pair : counter) {
cout << pair.first << ":" << pair.second << std::endl;
}
}

Выход:

1:0
cat:2
dog:8
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]