我在C++映射一个基本的查询,C++地图添加了新的元素
map<char,string> mymap;
mymap['a']="an element";
mymap['b']="another element";
mymap['c']=mymap['b'];
cout << "mymap['a'] is " << mymap['a'] << endl;
cout << "mymap['b'] is " << mymap['b'] << endl;
cout << "mymap['c'] is " << mymap['c'] << endl;
cout << "mymap['d'] is " << mymap['d'] << endl;
,当我们试图访问MyMap中[“d”],我得到一个默认值,因为操作员将在一个新元素使用该键映射并初始化为其默认值,即使仅访问它以检索其值。下一次当我使用迭代器时,我可以看到键'd'的空值。有什么方法可以限制地图插入默认值。
你是怎么想到* *当你写'MyMap中[ 'd']'发生? – 2012-01-10 16:52:08
如果您从http://www.cplusplus.com/reference/stl/map/operator%5B%5D/逐字记下了该代码,那么提起它就会很礼貌。特别是因为该页面构成并回答你的问题。 “ 注意最后一次访问(对于元素'd')如何使用该键在映射中插入一个新元素,并将其初始化为其默认值(空字符串),即使只访问它以检索其值。成员函数map: :发现不会产生这种效果。“ – 2012-01-10 16:55:41