std::compare_3way
来自cppreference.com
定义于头文件 <algorithm>
|
||
template< class T, class U > constexpr auto compare_3way( const T& a, const U& b ); |
(C++20 起) | |
用三路比较比较二个值,并产生最强的可应用比较类别类型。
详细而言:
- 若表达式 a <=> b 为良式,则返回其结果
- 否则,若表达式 a == b 与 a < b 均为良式且可转换为 bool ,则
- 若 a == b 等于 true ,则返回 std::strong_ordering::equal
- 否则,若 a < b 等于 true ,则返回 std::strong_ordering::less
- 否则,返回 std::strong_ordering::greater
- 否则,若表达式 a == b 为良式且可转换为 bool (但 a < b 非如此),则
- 若 a == b 等于 true ,则返回 std::strong_equality::equal
- 否则,返回 std::strong_equality::nonequal
- 否则(若 a <=> b 与 a == b 均非良式),则定义函数为被删除。
目录 |
[编辑] 参数
a, b | - | 要比较的值 |
[编辑] 返回值
上述值。
[编辑] 示例
本节未完成 原因:暂无示例 |
[编辑] 参阅
(C++20) |
用三路比较比价二个范围 (函数模板) |
(C++20) |
三路比较的结果类型,仅支持相等/不相等,且可替换 (类) |
(C++20) |
三路比较的结果类型,仅支持相等/不相等,且不可替换 (类) |
(C++20) |
三路比较的结果类型,支持所有 6 种运算符且可替换 (类) |
(C++20) |
三路比较的结果类型,支持所有 6 种运算符且不可替换 (类) |
(C++20) |
三路比较的结果类型,支持所有 6 种运算符,不可替换,并允许不可比较值 (类) |