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) |
检查类型是否可以从右值引用构造 (类模板) |