std::experimental::ranges::MoveConstructible
來自 cppreference.com
< cpp | experimental | ranges
定義於標頭檔案 <experimental/ranges/concepts> |
||
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) |
檢查型別是否可以從右值引用構造 (類模板) |