# C++ concepts: CopyAssignable

From cppreference.com
< cpp‎ | concept

Specifies that an instance of the type can be copy-assigned from an lvalue expression.

### Requirements

The type `T` satisfies `CopyAssignable` if

- The type `T` satisfies `MoveAssignable`, and

Given

- `t`, a modifiable lvalue expression of type `T`
- `v`, an lvalue expression of type `T` or `const T` or an rvalue expression of type `const T`

The following expressions must be valid and have their specified effects

Expression | Return type | Return value | Post-conditions
--- | --- | --- | ---
t = v | `T&` | `t` | The value of `t` is equivalent to the value of `v`. The value of `v` is unchanged.

### See also

is_copy_assignable is_trivially_copy_assignable is_nothrow_copy_assignable (C++11)(C++11)(C++11) | checks if a type has a copy assignment operator (class template)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/concept/CopyAssignable&oldid=76942"