C++ 映射参数C++;

C++ 映射参数C++;,c++,maps,C++,Maps,我有一个问题,把一个布尔值作为第三个参数在地图上。如下所示: int value; std::map<String str, int x, bool bl> int值; 标准::地图 其中,如果x>value-else-true,bool返回false 我在地图示例中看到的是,我可以添加比较对象参数,该参数比较地图的键值并相应地返回结果 如有任何建议,将不胜感激 谢谢,有两种方法可以做到这一点,这里有两种: 1: std::mapmymap; mymap[“xyz”].first

我有一个问题,把一个布尔值作为第三个参数在地图上。如下所示:

int value;
std::map<String str, int x, bool bl>
int值;
标准::地图
其中,如果x>value-else-true,bool返回false

我在地图示例中看到的是,我可以添加比较对象参数,该参数比较地图的键值并相应地返回结果

如有任何建议,将不胜感激


谢谢,

有两种方法可以做到这一点,这里有两种:

1:

std::mapmymap;
mymap[“xyz”].first=someValue;
mymap[“xyz”].second=someValue>value;
2:

结构映射元素 { int x; 布尔bl; }; std::mapmymap; mymap[“xyz”].x=someValue; mymap[“xyz”].bl=someValue>value;
映射类型不必指定成员(如
intx
),您只需指定一个将x和bl作为成员的类型(示例2)。

您尝试执行的操作没有任何意义。但是这可能是一个问题吗?你能解释一下(你想解决的)实际问题是什么,而不是进入解决方案空间吗?第二个建议对于他的目的来说非常好:如果
x
的值大于他所说的任意
value
常量,他可以有一个返回true的成员函数。我对我的问题采取了第二种方法,它也相应地起作用!非常感谢。
std::map< std::string, std::pair<int,bool> > mymap;
mymap["xyz"].first = someValue;
mymap["xyz"].second = someValue > value;
struct MapElement
{
    int x;
    bool bl;
};

std::map< std::string, MapElement > mymap;
mymap["xyz"].x = someValue;
mymap["xyz"].bl = someValue > value;