std::greater<void>
来自cppreference.com
                    
                                        
                    < cpp | utility | functional
                    
                                                            
                    |   在标头  <functional> 定义
  | 
||
|   template<> class greater<void>;  | 
(C++14 起) | |
std::greater<> 是 std::greater 的特化,拥有待推导的参数和返回类型。
实现定义的指针上的严格全序
若参数间的 > 运算符调用指针的内建比较运算符,则函数调用运算符产生实现定义的指针上的严格全序,即使内建的 > 运算符不如此。
实现定义的严格全序与比较运算符( <=>、 (C++20 起)<、 >、 <= 及 >= )所施加的偏序一致,并在下列标准函数对象间一致:
- std::less、 std::greater、 std::less_equal 及 std::greater_equal ,当模板实参为指针类型或 void 时
 
  | 
(C++20 起) | 
成员类型
| 成员类型 | 定义 | 
  is_transparent
 | 
/* 未指定 */ | 
成员函数
|     operator()  | 
  测试 lhs 是否比较大于 rhs  (公开成员函数)  | 
std::greater<>::operator()
|   template< class T, class U> constexpr auto operator()( T&& lhs, U&& rhs ) const  | 
||
返回 std::forward<T>(lhs) > std::forward<U>(rhs) 的结果。
参数
| lhs, rhs | - | 要比较的值 | 
返回值
std::forward<T>(lhs) > std::forward<U>(rhs) 的结果。
若两个实参的比较解析到指针类型的内建比较运算符,则在转换两个实参到指针后用实现定义的严格全序进行比较。
异常
可能会抛出由实现定义的异常。
注解
成员类型 is_transparent 指示调用方,此函数对象是一个通透函数对象:它接受任意类型的参数并使用完美转发,这在将函数对象在多种语境中,或以右值参数使用时,避免不需要的复制和转换。特别是,诸如 std::set::find 和 std::set::lower_bound 的模板函数在其 Compare 类型上使用此类型。
示例
| 本节未完成 原因:暂无示例  |