Freigeben über


__alignof Operator

Microsoft-spezifisch

Gibt einen Wert vom Typ size_tzurück, der die Ausrichtung des erforderlichen Typs ist.

__alignof( 
   type  
)

Hinweise

Beispiele:

Ausdruck

Wert

__alignof (Char)

1

__alignof (unmittelbar)

2

__alignof (int)

4

__alignof (__int64)

8

__alignof (Gleitkommawert)

4

__alignof (Double)

8

__alignof (char*)

4

Der __alignof-Wert ist der gleiche wie der Wert für sizeof für grundlegende Typen.Berücksichtigen Sie jedoch folgende Beispiel:

typedef struct { int a; double b; } S;
// __alignof(S) == 8

In diesem Fall ist der __alignof-Wert die Anforderung Ausrichtung des größten Elements in der Struktur.

Entsprechend für

typedef __declspec(align(32)) struct { int a; } S;

__alignof(S) ist gleich 32.

Eine Verwendung für __alignof wird als Parameter in einen routinen besitzen, Familie von sein.Beispielsweise definiert die folgende Struktur S, können Sie eine Familie routine aufrufen, die aligned_malloc , die auf einer bestimmten Grenzwert Speicher belegen integralen benannt wurde.

typedef __declspec(align(32)) struct { int a; double b; } S;
int n = 50; // array size
S* p = (S*)aligned_malloc(n * sizeof(S), __alignof(S));

Weitere Informationen über das Ändern der Ausrichtung finden Sie unter:

Siehe auch

Referenz

Ausdrücke mit unären Operatoren

C++-Schlüsselwörter