STL map operator[] not const

Haoxiang Li bio photo By Haoxiang Li

STL里Map的Operator[]和其它的Container不太一样。 因为Map的Operator[]可以提供这种操作:

map<string,string> testMap;
testMap["a"] = "b";

所以Map的Operator[]返回的是T&,而不是const T&

如果需要得到const reference,可以这样:

map<string,string> testMap;
const string& constMember = testMap.find("a")->second;