in Blog Posts, Solution

STL map operator[] not const

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

map testMap;
testMap["a"] = "b";

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

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

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

Write a Comment

Comment