다음을 통해 공유


__alignof 연산자

Microsoft 전용

형식의 값을 반환 합니다. size_t, 맞춤 요구 사항 형식입니다.

__alignof( 
   type  
)

설명

예를 들면 다음과 같습니다.

__alignof (char)

1

__alignof (간단히)

2

__alignof (int)

4

__alignof (__int64)

8

__alignof (부동 소수점)

4

__alignof (더블)

8

__alignof (char *)

4

__alignof 값을이 값에 대 한 sizeof 기본 형식에 대 한.그러나이 예를 살펴보겠습니다.

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

이 경우에 __alignof 은 가장 큰 요소 구조에서의 맞춤 요구 사항입니다.

마찬가지로, 대 한

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

__alignof(S)가 32와 같은 경우

사용에 대 한 __alignof 메모리 할당 루틴 중 하나를 매개 변수로 사용할 수 있습니다.예를 들어, 다음 지정 된 구조를 정의 S, 명명 된 메모리 할당 루틴을 호출할 수 있습니다 aligned_malloc 특정 정렬 경계에 메모리를 할당할 수 있습니다.

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));

맞춤을 수정에 대 한 자세한 내용은 참조 하십시오.

참고 항목

참조

단항 연산자 식

C + + 키워드