std::experimental::ranges:: exchange
From cppreference.net
<
cpp
|
experimental
|
ranges
|
template
<
MoveConstructible T,
class
U
=
T
>
requires Assignable
<
T
&
, U
>
|
(ranges TS) | |
将 obj 的值替换为 new_value 并返回 obj 的旧值,操作等效于
T old_value = std::move(obj); obj = std::forward<U>(new_value); return old_value;
目录 |
参数
| obj | - | 要替换其值的对象 |
| new_value | - |
要赋给
obj
的值
|
返回值
obj 的旧值。
异常
noexcept
规范:
noexcept
(
std::
is_nothrow_move_constructible
<
T
>
::
value
&&
std:: is_nothrow_assignable < T & , U > :: value )
std:: is_nothrow_assignable < T & , U > :: value )
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
(C++14)
|
用新值替换参数并返回其先前值
(函数模板) |