std:: copy_constructible
|
Definido en el encabezado
<concepts>
|
||
|
template
<
class
T
>
concept copy_constructible
=
|
(desde C++20) | |
El concepto
copy_constructible
se satisface si
T
es un tipo de referencia lvalue, o si es un
move_constructible
tipo objeto donde un objeto de ese tipo puede construirse a partir de un lvalue (posiblemente const) o const rvalue de ese tipo en contextos de inicialización directa y copia con la semántica habitual (se construye una copia manteniendo la fuente sin cambios).
Requisitos semánticos
Si
T
es un tipo de objeto, entonces
copy_constructible<T>
se modela solo si dado
- v , un lvalue de tipo (posiblemente const ) T o un rvalue de tipo const T ,
lo siguiente es cierto:
- Después de la definición T u = v ; , u es igual a v y v no se modifica;
- T ( v ) es igual a v y no modifica v .
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
-
18.4.14 Concepto
copy_constructible[concept.copyconstructible]
-
18.4.14 Concepto
- Estándar C++20 (ISO/IEC 14882:2020):
-
-
18.4.14 Concepto
copy_constructible[concept.copyconstructible]
-
18.4.14 Concepto
Véase también
|
(C++11)
(C++11)
(C++11)
|
verifica si un tipo tiene un constructor de copia
(plantilla de clase) |