Espaces de noms
Variantes
Affichages
Actions

alignas specifier

De cppreference.com
< cpp‎ | language

 
 
Langage C++
Sujets généraux
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 
Spécifie le critère de l'alignement d'un type ou d'un objet .
Original:
Specifies the alignment requirement of a type or an object.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier] Syntaxe

alignas( expression ) (depuis C++11)
alignas( type-id ) (depuis C++11)

[modifier] Explication

Le spécificateur alignas peut être appliqué à la déclaration d'une variable ou un membre de données de classe, ou il peut être appliqué à la définition d'un class / struct / union ou enum .
Original:
The alignas specifier may be applied to the declaration of a variable or a class data member, or it can be applied to the definition of a class/struct/union or enum.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Lorsqu'ils sont utilisés dans alignas(expression) forme et expression est une expression constante intégrale qui renvoie une valeur positive, l'entité déclarée aura ses exigence d'alignement exactement le résultat de la expression, sauf si elle affaiblirait l'exigence d'alignement naturel du type.
Original:
When used in form alignas(expression), and expression is an integral constant expression that evaluates to a positive value, the declared entity will have its alignment requirement set to exactly the result of the expression, except if it would weaken the natural alignment requirement of the type.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Lorsqu'ils sont utilisés dans alignas(type) forme, est exactement équivalente à alignas(alignof(type)), c'est l'exigence d'alignement de l 'entité déclarée sera égale à l'exigence de l'alignement type
Original:
When used in form alignas(type), is exactly equivalent to alignas(alignof(type)), that is, the alignment requirement of the declared entity will be equal the alignment requirement of type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Notes

alignas(0) n'a pas d'effet .
Original:
alignas(0) has no effect.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Lorsque plusieurs prescripteurs alignas sont appliquées à la même variable ou une classe, la plus stricte l'un est utilisé .
Original:
When multiple alignas specifiers are applied to the same variable or class, the strictest one is used.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Le langage C définit alignas comme une macro du préprocesseur dans le <stdalign.h> tête, mais en C + + c'est un mot-clé, et les en-têtes et <stdalign.h> <cstdalign> ne définissent pas une telle macro. Ils font, cependant, définir la macro __alignas_is_defined constante .
Original:
The C language defines alignas as a preprocessor macro in the header <stdalign.h>, but in C++ this is a keyword, and the headers <stdalign.h> and <cstdalign> do not define such macro. They do, however, define the macro constant __alignas_is_defined.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Mots-clés

alignas

[modifier] Exemple

// every object of type sse_t will be aligned to 16-byte boundary
struct alignas(16) sse_t
{
  float sse_data[4];
};
 
// the array "cacheline" will be aligned to 128-byte boundary
char alignas(128) cacheline[128];



[modifier] Voir aussi

alignof operator queries alignment requirements of a type (depuis C++11) [edit]
obtient exigences d'alignement du type
Original:
obtains the type's alignment requirements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe générique) [edit]