deref-move
来自 zh.cppreference.net
template< class I >
constexpr decltype(auto) /*deref-move*/( I& iter )
|
(自C++17起) (仅用于说明*) |
|
返回解引用 iter 的结果作为右值:
- 如果
*iter是左值引用类型,则返回std::move(*iter)。 - 否则直接返回
*iter。
参数
| iter | - | 迭代器,其引用的对象将被移动 |
返回值
如上所述。
注意
此仅用于说明的函数模板是由 LWG issue 3918 的决议引入的。它用于防止在解引用 iter 的结果已经是右值时,进行不必要的移动构造。
另请参阅
(C++17) |
将一系列对象移动到未初始化的内存区域 (函数模板 & 算法函数对象) |
(C++20) |
|
(C++17) |
将指定数量的对象移动到未初始化的内存区域 (函数模板 & 算法函数对象) |
(C++20) |