std::experimental::ranges::exchange
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/utility> 中 |
||
template< MoveConstructible T, class U = T > requires Assignable<T&, U> |
(范围 TS) | |
用 new_value 替换 obj 的值,并返回 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) |
用新值替换参数,并返回其先前值 (函数模板) |