std::movable (C++20 起)

来自cppreference.com
< cpp‎ | concepts
在标头 <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 Object concepts [concepts.object]
  • C++20 标准(ISO/IEC 14882:2020):
  • 18.6 Object concepts [concepts.object]

参阅

(C++20)
指定能复制、移动及交换一个类型的对象
(概念)