operator==, <=> (std::reference_wrapper)
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
operator==
operator<=>
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, reference_wrapper rhs ) ; |
(1) | (自 C++26 起) |
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, reference_wrapper < const T > rhs ) ; |
(2) | (自 C++26 起) |
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, const T & ref ) ; |
(3) | (自 C++26 起) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, reference_wrapper rhs ) ; |
(4) | (自 C++26 起) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, reference_wrapper < const T > rhs ) ; |
(5) | (自 C++26 起) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, const T & ref ) ; |
(6) | (自 C++26 起) |
对
reference_wrapper
对象执行比较操作。
reference_wrapper
对象。当且仅当
lhs.
get
(
)
与
rhs.
get
(
)
相等时,这两个对象才比较相等。
- std:: is_const_v < T > 为 false 。
- 表达式 lhs. get ( ) == rhs. get ( ) 是良构的,且其结果可转换为 bool 。
reference_wrapper
对象与引用进行比较。当且仅当
lhs.
get
(
)
等于
ref
时,参数比较结果为相等。
- std:: is_const_v < T > 为 false 。
- 表达式 synth-three-way ( lhs. get ( ) , rhs. get ( ) ) 是良构的。
<
、
<=
、
>
、
>=
和
!=
运算符分别由
operator
<=>
和
operator
==
合成。
目录 |
参数
| lhs, rhs | - |
待比较的
reference_wrapper
对象
|
| ref | - |
与
reference_wrapper
对象进行比较的引用
|
返回值
异常
抛出比较操作时的异常类型及内容。
注释
operator <=> 的返回类型通过 return 语句进行 自动推导 ,以避免在实例化 std:: reference_wrapper < T > 时,因 synth-three-way-result <T> 格式错误而导致硬性编译错误。
| 功能测试 宏 | 值 | 标准 | 功能 |
|---|---|---|---|
__cpp_lib_reference_wrapper
|
202403L
|
(C++26) |
std::reference_wrapper
的比较操作
|
示例
|
本节内容不完整
原因:缺少示例 |