Namespaces
Variants

std:: movable

From cppreference.net
定义于头文件 <concepts>
template < class T >

concept movable =
std:: is_object_v < T > &&
std:: move_constructible < T > &&
std:: assignable_from < T & , T > &&

std:: swappable < T > ;
(C++20 起)

概念 movable<T> 规定 T 是可移动的对象类型(即支持移动构造、移动赋值,且类型为 T 的左值可被交换)。

参考文献

  • C++23 标准 (ISO/IEC 14882:2024):
  • 18.6 对象概念 [concepts.object]
  • C++20 标准 (ISO/IEC 14882:2020):
  • 18.6 对象概念 [concepts.object]

参见

(C++20)
指定该类型的对象可被复制、移动及交换
(概念)