c++ - 当找不到映射键时,我可以做出以下假设吗?

标签 c++

std::map<std::string, int> m;
// Can I make assumption that m["NoSuchKey"] will return 0?
std::cout << m["NoSuchKey"] << std::endl;

最佳答案

是的。当通过 operator[] 访问不存在的项目时,将使用默认构造的值创建该项目并返回。

对于数字类型,默认构造的意思是 0。

关于c++ - 当找不到映射键时,我可以做出以下假设吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2377443/

相关文章:

c++ - 使用 ON_WM_HSCROLL() 同时仍然具有功能性默认滚动条?

c++ - 从 Vector 中删除一个元素并将其余元素向下移动 - C++

c++ - `std::packaged_task` 是否需要 CopyConstructible 构造函数参数?

c++ - boost::fiber 调度 - 何时以及如何

c++ - 没有宏的模板特化类型列表?

c++ - ~A(){} 和 ~A() throw(){} 有什么区别,其中 A 是类名?

c++ - 继承模式

c++ - 是否有一个仿函数取消引用(智能)指针,向上转换它,然后调用它的方法?

c++ - 模板类中的内联虚方法

c++ - 如何 zlib 压缩 QByteArray?