An initial value assumption about map in c++

2019-02-17 03:53发布

问题:

I am initializing a map map<string,int> ex; in C++. I could not find contains_key or similar function in stl, hence I am just using ex[inputString]++;

The debugger shows the int to be initialized to zero correctly, is it a good assumption?

回答1:

Yes, values that do not exist when accessed with operator[] are default-constructed. For numeric values, this is 0.

That said, you're looking for the count method:

bool hasElement = ex.count("element");


标签: c++ stl map