关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢

关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢,第1张

关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢_百度知道


    关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢



       








    2011-3-24 01:27

    

    满意回答

    你应该去买《C++标准函数库》这本书,看看就清楚了。

    这两东西就是用来比较两个值是否相等的函数或者仿函数,用在带排序功能的容器里,比如map和set。
    比如set<XXX>,如果类型XXX支持operator <,那么默认会用<号作为比较的依据。如果类型XXX不支持<号,那么你可以自己提供一个函数或者仿函数实现比较功能,并作为set的模板参数,比如:set<XXX, MyComp>。具体自己去看set的定义。
    key_comp用来比较key大小,value_comp用来比较value大小。
    对set来说,key和value是一回事,两个东西等价。
    对map来说,比如map<XXX, YYY>,key的类型是XXX,value的类型是pair<XXX, YYY>。key_comp就是用来比较XXX类型的值的东西,value_comp就是用来比较pair<XXX,YYY>的东西。但是value_comp的比较方式跟key_comp是一样的。pair<XXX, YYY>里只有XXX会被比较,YYY不参与比较。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/2084018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存