std:: max_align_t
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic types | |||||||||||
| Fixed width integer types (C++11) | |||||||||||
| Fixed width floating-point types (C++23) | |||||||||||
| Numeric limits | |||||||||||
| C numeric limits interface | |||||||||||
| Runtime type information | |||||||||||
|
|||||||||||
|
Défini dans l'en-tête
<cstddef>
|
||
|
typedef
/* implementation-defined */
max_align_t
;
|
(depuis C++11) | |
std::max_align_t
est un type
standard-layout
TrivialType
(jusqu'en C++26)
TriviallyCopyable
type
(depuis C++26)
dont
l'exigence d'alignement
est au moins aussi stricte (aussi grande) que celle de tout type scalaire.
std:: is_trivially_default_constructible_v < std :: max_align_t > est true .
Table des matières |
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
#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
|
|