std::map<Key,T,Compare,Allocator>::value_comp
来自cppreference.com
std::map::value_compare value_comp()const; | ||
返回比较 std::map::value_type
(键-值对)对象的函数对象,它用 key_comp 比较 pair 的第一组分。
目录 |
[编辑]参数
(无)
[编辑]返回值
比较值的函数对象。
[编辑]复杂度
常数。
[编辑]示例
运行此代码
#include <iostream>#include <map>#include <utility> // 演示模 97 的键比较函数struct ModCmp {bool operator()(int lhs, int rhs)const{return(lhs %97)<(rhs %97);}}; int main(){std::map<int, char, ModCmp> cont; cont ={{1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'}, {5, 'e'}}; auto comp_func = cont.value_comp(); for(conststd::pair<int, char> val ={100, 'a'};auto it : cont){constbool before = comp_func(it, val);constbool after = comp_func(val, it); std::cout<<"键 ("<< it.first<<','<< it.second<<") ";if(!before &&!after)std::cout<<"等价于键 ("<< val.first<<")\n";elseif(before)std::cout<<"在键 ("<< val.first<<") 之前\n";elseif(after)std::cout<<"在键 ("<< val.first<<") 之后\n";elsestd::unreachable();}}
输出:
键 (1,a) 在键 (100) 之前 键 (2,b) 在键 (100) 之前 键 (3,c) 等价于键 (100) 键 (4,d) 在键 (100) 之后 键 (5,e) 在键 (100) 之后
[编辑]参阅
返回用于比较键的函数 (公开成员函数) |