std::experimental::ranges::MoveConstructible
来自 cppreference.cn
< cpp | experimental | ranges
template< class T > concept bool MoveConstructible = |
(ranges TS) | |
概念 MoveConstructible
得到满足,如果 T
是引用类型,或者它是一个对象类型,其中该类型的对象可以从该类型的右值在直接初始化和复制初始化上下文中构造,并具有通常的语义。
更准确地说,如果 T
是对象类型,则 MoveConstructible<T>
仅在给定以下条件时才满足:
-
rv
,一个类型为T
的右值,以及 -
u2
,一个类型为T
且等于rv
的不同对象,
以下条件为真
- 在定义 T u = rv; 之后,
u
等于u2
; -
T{rv}
等于u2
;并且 - 如果
T
不是 const 限定的,则rv
的结果状态(在上述任一要点中定义/表达式求值后)有效但未指定;否则,它保持不变。
[编辑] 参阅
(C++11)(C++11)(C++11) |
检查类型是否可以从右值引用构造 (类模板) |