我在按值访问 Map 时遇到问题。我不想使用 访问该值find("string_value")
,而是使用find(s)
while访问该值string s="string_value"
。见下文:
map<string, string> my_map;
string s;
map<string, string>::iterator it_;
for(it_ = my_map.begin(); it_!= my_map.end(); it_++)
{
s = it_->second;
if (my_map.find(s) != my_map.end()) cout << my_map.find(s)->second << endl;
}
我最初的猜测是find()
接受 const 值,而it_->second
不是。因此,即使我的地图有值,if 条件也会失败。虽然没有编译时错误。有什么帮助吗?