std::experimental::ranges::exchange
来自 cppreference.cn
< cpp | experimental | ranges
template< MoveConstructible T, class U = T > requires Assignable<T&, U> |
(ranges 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) |
用新值替换参数并返回其先前的值 (函数模板) |