std::greater
來自 cppreference.com
定義於標頭檔案 <functional> |
||
template< class T > struct greater; |
(直到 C++14) | |
template< class T = void > struct greater; |
(C++14 起) | |
用於執行比較的函式物件。主模板在型別 T
上呼叫 operator>。
目錄 |
[編輯] 特化
(C++14) |
實現 x > y 的函式物件,推導引數和返回型別 (類模板特化) |
[編輯] 成員型別
型別 | 定義 |
result_type (C++17 中已棄用)(C++20 中已移除) |
bool |
first_argument_type (C++17 中已棄用)(C++20 中已移除) |
T
|
second_argument_type (C++17 中已棄用)(C++20 中已移除) |
T
|
這些成員型別透過公開繼承 std::binary_function<T, T, bool> 獲得。 |
(C++11 前) |
[編輯] 成員函式
operator() |
檢查第一個引數是否 大於 第二個引數 (公開成員函式) |
std::greater::operator()
bool operator()( const T& lhs, const T& rhs ) const; |
(C++14 起為 constexpr) | |
檢查 lhs 是否 大於 rhs。
引數
lhs, rhs | - | 要比較的值 |
返回值
lhs > rhs.
如果 T
是指標型別,則結果與 實現定義的指標全序 一致。
[編輯] 異常
可能丟擲實現定義的異常。
可能的實現
constexpr bool operator()(const T& lhs, const T& rhs) const { return lhs > rhs; // assumes that the implementation handles pointer total order } |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 2562 | C++98 | 指標全序可能不一致 | 保證一致 |
[編輯] 另請參閱
實現 x < y 的函式物件 (類模板) | |
(C++20) |
實現 x > y 的受限函式物件 (類) |