C++ 关于c+中映射的初值假设+;

C++ 关于c+中映射的初值假设+;,c++,stl,map,C++,Stl,Map,我正在初始化一个mapmap-ex 在C++中。我在stl中找不到包含_键或类似函数, 因此,我只是使用ex[inputString]++ 调试器显示int被正确初始化为零,这是一个好的假设吗?是的,使用操作符[]访问时不存在的值是默认构造的。对于数值,这是0 也就是说,您正在寻找count方法: bool hasElement = ex.count("element"); 谢谢,很高兴知道它被初始化为零,保存if!存在,然后初始化中所需的结构类型python@akshayubhatC++的m

我正在初始化一个map
map-ex
在C++中。我在stl中找不到包含_键或类似函数,
因此,我只是使用
ex[inputString]++


调试器显示int被正确初始化为零,这是一个好的假设吗?

是的,使用
操作符[]
访问时不存在的值是默认构造的。对于数值,这是0

也就是说,您正在寻找
count
方法:

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

谢谢,很高兴知道它被初始化为零,保存if!存在,然后初始化中所需的结构类型python@akshayubhatC++的
map[k]
和Python的
dict.setdefault(k[,d])
相似之处在于不存在的键将被设置为默认值,正如C++的
map.find(k)->second
和Python的
dict[k]
相似之处在于不存在的键将给出错误。这两种语言只是选择了不同的选项作为“通用”操作。