如何判断map容器的key是否存在

2025-05-10 05:43:50
推荐回答(2个)
回答1:

首先,不推荐使用[]来判断key是否存在,因为使用操作符[]会向map容器里插入一个元素。 map的operator[]重载大致是这样一个内容:
data_type& operator[]( const key_type& k ){value_type v(k, data_type());
iterator it = insert(v).first;
} 大致是这样,如果没有找到的话就插入一个,然后返回它的second。 正确的判断方法是使用map的find函数,由于map是一个红黑树,find的时间复杂度是logn,可以接受。 bool i***ist(constStri

回答2:

map.containsKey(“a”)判断是否存在a