gpt4 book ai didi

c++ - 按值访问 STL 映射

转载 作者:太空宇宙 更新时间:2023-11-04 16:21:16 24 4
gpt4 key购买 nike

我在按值访问 map 时遇到问题。我不想使用 find("string_value") 访问该值,而是作为 find(s)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 不是。因此,即使我的 map 具有值(value),if 条件也会失败。虽然没有编译时错误。有帮助吗?

最佳答案

您应该查看 Boost,特别是 bimap 类。

http://www.boost.org/doc/libs/1_42_0/libs/bimap/doc/html/index.html

这样您就可以制作一张双方都可搜索的 map 。

常规 STL 映射只能在键上搜索,不能在值上搜索。

关于c++ - 按值访问 STL 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com