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 。
异常
(无)
可能的实现
constexpr bool operator()(const T &lhs, const T &rhs) const |
示例
#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> ...
随机推荐
- hdu 2015校赛1002 Dual horsetail (思维题 )
Dual horsetail Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- laravel基础课程---8、laravel响应和视图(响应是什么)
laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...
- IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体
前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...
- #基础概念#之tensor
中译名:张量 定义: from wiki: In mathematics, tensors are geometric objects that describe linear relations b ...
- 集训Day12
快乐 快乐就完事了 今天把Trie树 / 可持久化Trie树搞了一下 Trie树可以维护区间最大异或和 具体就是区间异或和 -> 区间两个前缀异或和的异或 然后就变成了 "从n个数里找 ...
- ACM学习历程—HDU1003 Max Sum(dp && 最大子序列和)
Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub ...
- AI-Info-Micron-Insight:Intelligence Accelerated™
ylbtech-AI-Info-Micron-Insight:Intelligence Accelerated™ Intelligence Accelerated™ Micron Insight 大会 ...
- JavaScript:bootstrap 模态框的简单应用
最近用上了bootstrap这个强大的前端框架,有空来总结一下.这里记录下模态框的简单应用. 首先,要在页面中引入相应的js.css文件 <link href="css/bootstr ...
- openstack实现nova-api的HA
1 实验环境 Openstack juno版本,一个controller(计算节点也在这个物理节点上)和一个网络节点network 使用haproxy作为代理软件 使用pacemaker作 ...
- caffe Dtype
http://blog.luoyetx.com/2015/10/reading-caffe-2/