Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

sizeof와 alignof의 차이점은 무엇입니까?

<시간/>

여기에서 우리는 C++에서 sizeof와 alignof 연산자의 차이점을 볼 것입니다. lognof() 연산자는 C++11에 도입되었습니다.

alignof() 연산자는 바이트 단위로 정렬을 가져오는 데 사용됩니다. 유형의 인스턴스가 필요합니다. 유형은 전체 유형 또는 참조 유형입니다. 한 유형의 크기를 반환하는 sizeof() 연산자라는 또 다른 연산자가 있습니다. 일반 데이터 유형의 경우 sizeof 및 alignof는 동일한 값을 반환합니다. 일부 사용자 정의 데이터 유형의 경우 alignof는 다른 값을 반환합니다. 아이디어를 얻기 위해 예제를 살펴보겠습니다.

예시

#include<iostream>
using namespace std;
struct MyStruct{
   int x;
   double y;
   char z;
};
main() {
   cout << "The sizeof(MyStruct): " << sizeof(MyStruct) << endl;
   cout << "The alignof(MyStruct): " << alignof(MyStruct) << endl;
}

출력

The sizeof(MyStruct): 24
The alignof(MyStruct): 8