关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢
2012-07-24 12:16
357 查看
关于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不参与比较。
关于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不参与比较。
相关文章推荐
- 关于c++ stl 内存回收问题
- 关于c++中类型定义typedef和类模板能否共用问题
- [C++] 关于FD_SETSIZE大小的问题
- 关于C++内存中字节对齐问题的详细介绍
- 关于C++内存中字节对齐问题的详细介绍
- C++ STL 有关于SET集合的基本操作,本文不包含涉及到自定义数据类型的排序
- STL中关于map和set的四个问题?
- 关于C++内存中字节对齐问题的详细介绍
- 关于set或map的key使用自定义类型的问题
- C#中关于get和set的详细例子介绍
- C++ 标准模板库STL中set用法介绍
- 新手问题:Fragment关于button setonclicklistener的一些东西
- 【C】C++标准模板库(STL)介绍--set
- STL中关于map和set的四个问题?
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- STL中关于map和set的四个问题?
- C++ STL 之 unordered_set 介绍
- 关于WF4SDK中的ExpressionTextBox例子的两个问题
- [置顶] 关于C++中STL的一些东西(不定期整理)
- C++ 有关于STL中 迭代器的基本介绍 20180321day11