std::less
std::less
定义于头文件
<functional> |
||
template< class T > struct less; |
(C++14 前) | |
template< class T = void > struct less; |
(C++14 起) | |
进行比较的函数对象。调用类型 T
上的 operator< ,除非特化。
特化
std::less
的特化为任何指针类型产生严格全序,即使内建的 operator< 不如此。严格全序在 std::less 、 std::greater 、 std::less_equal 和 std::greater_equal 对该指针类型的特化间一致,且亦与对应的内建运算符( <
、 >
、 <=
及 >=
)所强加的部分顺序一致。
若特化 |
(C++14 起) |
标准库提供
|
(C++14 起) |
成员类型
类型 | 定义 |
result_type (C++17 中弃用) |
bool |
first_argument_type (C++17 中弃用) |
T |
second_argument_type (C++17 中弃用) |
T |
成员函数
operator()
|
检查第一参数是否小于第二个 (公开成员函数) |
std::less::operator()
bool operator()( const T& lhs, const T& rhs ) const;
|
(C++14 前) | |
constexpr bool operator()( const T& lhs, const T& rhs ) const;
|
(C++14 起) | |
检查 lhs
是否小于 rhs
。
参数
lhs, rhs | - | 要比较的值 |
返回值
若 lhs < rhs 则为 true ,否则为 false 。
异常
(无)
可能的实现
|
示例
- #include <functional>
- #include <iostream>
- template <typename A, typename B, typename U = std::less<int>>
- bool f(A a, B b, U u = U())
- {
- return u(a, b);
- }
- int main()
- {
- std::cout << std::boolalpha;
- std::cout << f(, ) << '\n';
- std::cout << f(, ) << '\n';
- }
输出:
- true
false
- 以上是在网上查的std::less用法。实际使用时,比如
std::map<uint64_t,Eigen::Vector2i, std::less<uint64_t>
这里第三个参数的作用为,定义map中key值的排序规则,这里即为按<排序。
std::less的更多相关文章
- 【NX二次开发】NX内部函数,libuifw.dll文件中的内部函数
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void U ...
- C++ std::set
std::set template < class T, // set::key_type/value_type class Compare = less<T>, // set::k ...
- C++ std::priority_queue
std::priority_queue template <class T, class Container = vector<T>, class Compare = less< ...
- C++ std::queue
std::queue template <class T, class Container = deque<T> > class queue; FIFO queue queue ...
- C++ std::multimap
std::multimap template < class Key, // multimap::key_type class T, // multimap::mapped_type class ...
- C++ std::map
std::map template < class Key, // map::key_type class T, // map::mapped_type class Compare = less ...
- C++ std::list
std::list template < class T, class Alloc = allocator > class list; List Lists are sequence co ...
- C++ std::forward_list
std::forward_list template < class T, class Alloc = allocator > class forward_list; Forward li ...
- C++ std::deque
std::deque template < class T, class Alloc = allocator > class deque; Double ended queue deque ...
- C++ std::array
std::array template < class T, size_t N > class array; Code Example #include <iostream> ...
随机推荐
- java: new Date().getTime() 与 System.currentTimeMillis() 与 System.nanoTime()
java使用new Date()和System.currentTimeMillis()获取当前时间戳 在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时 ...
- HTML5响应式模版Mocha
HTML5响应式模版Mocha,经典,html5,蓝色,扁平,HTML5响应式模版Mocha是一款宽屏大气的HTML5网站展示模板. http://www.huiyi8.com/moban/
- JavaScript(4)
myfuns.js //自定义函数 //输入两个数,再输入一个运算符(+,-,*,/),得到结果->函数 function jiSuan(num1,num2,operator){//特别强调 参 ...
- legend2---开发日志14(游戏对用户友好的设计思路)
legend2---开发日志14(游戏对用户友好的设计思路) 一.总结 一句话总结: 不强制,但是激励:比如宗门灵力等级从强制提升到提升宗门和用户的修炼速度 1.丹药有必要做成随机数值么? 没有 1. ...
- JavaScript中函数的无限次运算问题
开博客有一段时间了,一直没动笔,原因是确实没看到什么值得写的内容.直到今天在司徒正美的博客里看到一个问题. http://www.cnblogs.com/rubylouvre/archive/2012 ...
- 【Lintcode】104.Merge k Sorted Lists
题目: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexit ...
- python定时任务:apscheduler的使用(还有一个celery~)
文章摘自:https://www.cnblogs.com/luxiaojun/p/6567132.html 1 . 安装 pip install apscheduler 2 . 简单例子 # codi ...
- phantomjs学习
PhantomJS快速入门 本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍.下载与安装.HelloWorld程序.核心模块介绍等.由于鄙人才疏学浅,难免有疏漏之处, ...
- 洛谷P3373线段树模板2
题目:https://www.luogu.org/problemnew/show/P3373 带乘的线段树,更新时把加的标记也乘一下,然后取值时先乘后加. 代码如下: #include<iost ...
- poj2823Sliding Window——单调队列
题目:http://poj.org/problem?id=2823 单调队列模板. 代码如下: #include<iostream> #include<cstdio> usin ...