std::max_align_t
Depuis fr.cppreference.net
| Défini dans l'en-tête <cstddef>
|
||
typedef /* implementation-defined */ max_align_t;
|
(depuis C++11) | |
std::max_align_t est un standard-layout TrivialType(jusqu'à C++26)TriviallyCopyable type(depuis C++26) dont l'exigence d'alignement est au moins aussi stricte (grande) que celle de tout type scalaire.
std::is_trivially_default_constructible_v<std::max_align_t> est true.
Notes
Les pointeurs retournés par les fonctions d'allocation telles que
std::malloc
sont correctement alignés pour tout objet, ce qui signifie qu'ils sont alignés au moins aussi strictement que
std::max_align_t
.
Exemple
Exécuter ce code
#include <cstddef> #include <iostream> int main() { std::cout << alignof(std::max_align_t) << '\n'; }
Sortie possible :
16
Références
- Norme C++23 (ISO/CEI 14882:2024) :
-
- 17.2.4 Tailles, alignements et décalages [support.types.layout] (p: 504-505)
- Norme C++20 (ISO/CEI 14882:2020) :
-
- 17.2.4 Tailles, alignements et décalages [support.types.layout] (p: 507-508)
- Norme C++17 (ISO/CEI 14882:2017) :
-
- 21.2.4 Tailles, alignements et décalages [support.types.layout] (p: 479)
- Norme C++14 (ISO/CEI 14882:2014) :
-
- 18.2 Types [support.types] (p: 443-444)
- Norme C++11 (ISO/CEI 14882:2011) :
-
- 18.2 Types [support.types] (p: 454-455)
Voir aussi
alignof
(C++11)
|
interroge les exigences d'alignement d'un type
(opérateur) |
|
(C++11)
|
obtient les exigences d'alignement du type
(modèle de classe) |
|
(C++11)
|
vérifie si un type est un type scalaire
(modèle de classe) |
|
Documentation C
pour
max_align_t
|
|