std::experimental::ranges::MoveConstructible
< cpp | experimental | ranges
template < class T > concept bool MoveConstructible = |
(范围 TS) | |
概念 MoveConstructible
若 T
为引用类型,或若它是对象类型,其中能在直接和复制初始化语境中从该类型的右值以通常语义构造该类型对象,则得到满足。
更精确而言,若 T
是对象类型,则 MoveConstructible<T>
仅若满足下列条件才得到满足。给定
-
rv
,T
类型右值,与 -
u2
,等于rv
的T
类型独立对象,
下列为真:
- 定义 T u = rv; 后,
u
等于u2
; -
T{rv}
等于u2
;且 - 若
T
无 const 限定,则rv
的结果状态(在上述任一条中求值定义/表达式后)合法且未指定,否则它不更改。
参阅
(C++11)(C++11)(C++11) |
检查类型是否能从右值引用构造 (类模板) |