【发布时间】:2017-02-27 03:03:36
【问题描述】:
我正在做一个简单的地图程序,但最终得到了这个问题。 c++ 文档是这样说的:
访问元素 如果 k 匹配容器中元素的键,则该函数返回对其映射值的引用。 如果 k 不匹配容器中任何元素的键,则该函数使用该键插入一个新元素并返回对其映射值的引用。请注意,这总是将容器大小增加一,即使没有为元素分配映射值(该元素是使用其默认构造函数构造的)。
我没有真正理解的部分是它说“该元素是使用其默认构造函数构造的”。
我试了一下,做了这个
std::map<string, int> m;
m["toast"];
我只是想看看“toast”的映射元素是什么值。它最终为零,但是,为什么?原始类型是否有默认构造函数?或者发生了什么?
【问题讨论】:
-
这个所谓的“c++ doc”是什么?听起来不是很准确。
-
(地图元素是值初始化的。)
-
@KerrekSB 我应该使用哪一个?我只是使用 cplusplus.com 我做错了吗?
-
那个网站has issues...
-
谢谢@KerrekSB!我不知道!
标签: c++ dictionary initialization stdmap