Espacios de nombres
Variantes
Acciones

std::copy_constructible

De cppreference.com
< cpp‎ | concepts
Definido en el archivo de encabezado <concepts>
template <class T>

concept copy_constructible =
  std::move_constructible<T> &&
  std::constructible_from<T, T&> && std::convertible_to<T&, T> &&
  std::constructible_from<T, const T&> && std::convertible_to<const T&, T> &&

  std::constructible_from<T, const T> && std::convertible_to<const T, T>;
(desde C++20)

El concepto copy_constructible (construible mediante copia) se satisface si T es un tipo referencia lvalue, o si es un tipo objeto move_constructible donde un objeto de ese tipo puede construirse de un lvalue (posiblemente const) o un rvalue const de ese tipo tanto en contextos de inicialización directa como en contextos de inicialización de copia, con la semántica habitual (se construye una copia con sin modificar la fuente).

[editar] Requerimientos semánticos

Si T es un tipo objeto, entonces copy_constructible<T> se modela solo si dados

  • v, un lvalue de tipo (posiblemente const) T o un rvalue de tipo const T,

lo siguiente es verdadero:

  • Después de la definición de T u = v;, u es igual a v y v no se modifica;
  • T(v) es igual a v y no modifica a v.

[editar] Véase también

Comprueba si un tipo tiene un constructor de copia
Original:
checks if a type has a copy constructor
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de clase) [editar]