std::default_initializable
Von cppreference.com
| Definiert in der Header-Datei <concepts> |
||
| template< class T > concept default_initializable = std::constructible_from<T> && requires { T{}; } && |
(seit C++20) | |
Das Konzept default_initializable prüft, ob Variablen vom Typ T
- wertinitialisiert (d.h. ob T() wohlgeformt ist);
- direkt mit einer leeren Initialisierungsliste listinitialisiert (d.h. ob T{} wohlgeformt ist); und
- standardinitialisiert (d.h. ob T t; wohlgeformt ist).
Die Zugriffsprüfung erfolgt so, als ob sie in einem Kontext durchgeführt würde, der nicht mit T verwandt ist. Es wird nur die Gültigkeit des unmittelbaren Kontexts der Variableninitialisierung berücksichtigt.
[bearbeiten] Mögliche Implementierung
template<class T> concept default_initializable = std::constructible_from<T> && requires { T{}; ::new T; }; |
[bearbeiten] Referenzen
- C++23 Standard (ISO/IEC 14882:2024)
- 18.4.12 Concept
default_initializable[concept.default.init]
- 18.4.12 Concept
- C++20 Standard (ISO/IEC 14882:2020)
- 18.4.12 Concept
default_initializable[concept.default.init]
- 18.4.12 Concept
[bearbeiten] Siehe auch
| (C++20) |
gibt an, dass eine Variable des Typs aus einer Reihe von Argumenttypen konstruiert oder an sie gebunden werden kann (Konzept) |
| prüft, ob ein Typ einen Standardkonstruktor hat (Klassenvorlage) |