# std::experimental::ranges::Copyable

< cpp‎ | experimental‎ | ranges

定义于头文件 `<experimental/ranges/concepts>` |  |
template <class T> concept bool Copyable = ranges::CopyConstructible<T> && ranges::Movable<T> && ranges::Assignable<T&, const T&>; |  | (范围 TS)

概念 `Copyable<T>` 指定 `T` 为 `Movable` 对象类型，并且亦能复制（即它支持复制构造和复制赋值）。

### 注解

`Copyable<T>` 亦有意要求 ranges::Assignable<T&, const T> （从 const 右值赋值）和 ranges::Assignable<T&, T&> （从非 const 左值赋值）得到满足。

### 参阅

Movable | 指定该类型的对象能被移动和交换 (概念)