相关疑难解决方法(0)

std::map::运算符[]

我正在做一个简单的地图程序,但最终提出了这个问题。C++ 文档是这样说的:

访问元素 如果 k 与容器中元素的键匹配,则该函数返回对其映射值的引用。如果 k 与容器中任何元素的键都不匹配,则该函数将插入具有该键的新元素并返回对其映射值的引用。请注意,即使没有为元素分配映射值(该元素是使用其默认构造函数构造的),这始终会将容器大小增加一。

我真正不明白的部分是它说“元素是使用其默认构造函数构造的”。

我尝试了一下并做了这个

std::map<string, int> m;
m["toast"];
Run Code Online (Sandbox Code Playgroud)

我只是想看看“toast”的映射元素是什么值。最终结果为零,但是,为什么呢?基本类型有默认构造函数吗?或者发生了什么?

c++ dictionary initialization stdmap

4
推荐指数
1
解决办法
803
查看次数

标签 统计

c++ ×1

dictionary ×1

initialization ×1

stdmap ×1