std:: copy_constructible
|
Défini dans l'en-tête
<concepts>
|
||
|
template
<
class
T
>
concept copy_constructible
=
|
(depuis C++20) | |
Le concept
copy_constructible
est satisfait si
T
est un type de référence lvalue, ou s'il s'agit d'un type d'objet
move_constructible
où un objet de ce type peut être construit à partir d'une lvalue (éventuellement const) ou d'une rvalue const de ce type dans des contextes d'initialisation directe et par copie avec la sémantique habituelle (une copie est construite sans modification de la source).
Exigences sémantiques
Si
T
est un type objet, alors
copy_constructible<T>
est modélisé seulement si étant donné
- v , une lvalue de type (éventuellement const ) T ou une rvalue de type const T ,
les affirmations suivantes sont vraies :
- Après la définition T u = v ; , u est égal à v et v n'est pas modifié ;
- T ( v ) est égal à v et ne modifie pas v .
Références
- Norme C++23 (ISO/CEI 14882:2024) :
-
-
18.4.14 Concept
copy_constructible[concept.copyconstructible]
-
18.4.14 Concept
- Norme C++20 (ISO/IEC 14882:2020) :
-
-
18.4.14 Concept
copy_constructible[concept.copyconstructible]
-
18.4.14 Concept
Voir aussi
|
(C++11)
(C++11)
(C++11)
|
vérifie si un type possède un constructeur de copie
(modèle de classe) |