在一组对中,获取该对中与该对的第二个值对应的值 假设在C++中有一组对,如下定义: std::set<std::pair<std::string, std::string>> s;

在一组对中,获取该对中与该对的第二个值对应的值 假设在C++中有一组对,如下定义: std::set<std::pair<std::string, std::string>> s;,c++,stl,set,c++17,std-pair,C++,Stl,Set,C++17,Std Pair,我想知道一个人如何在c++17中只用“Paul”就可以获得“America” 输入:Paul 输出:美国如果你真的需要这个,这里有两个选项 std::find_if,您将为其提供只检查第一个参数相等的函数,但请考虑当您有say(Paul,America)和(Paul,England) 为std::pair和重载运算符编写包装器为什么不呢?如果有std::set,那么可能有多个first==“Paul”s的对。 s = {{"Paul", "America"

我想知道一个人如何在c++17中只用
“Paul”
就可以获得
“America”

输入:Paul

输出:美国

如果你真的需要这个,这里有两个选项

  • std::find_if
    ,您将为其提供只检查第一个参数相等的函数,但请考虑当您有say(Paul,America)(Paul,England)

  • std::pair
    和重载
    运算符编写包装器为什么不呢?如果有
    std::set
    ,那么可能有多个
    first==“Paul”s
    的对。
    s = {{"Paul", "America"}, {"Joe", "Scotland"}, {"Matt", "Russia"}};