Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa sizeof và alignof là gì?

Ở đây chúng ta sẽ thấy sự khác biệt của sizeof và toán tử alignof trong C ++. Toán tử alognof () được giới thiệu trong C ++ 11.

Toán tử alignof () được sử dụng để căn chỉnh theo byte. Nó yêu cầu các thể hiện của loại. loại là loại hoàn chỉnh hoặc loại tham chiếu. Có một toán tử khác được gọi là toán tử sizeof (), trả về kích thước của một kiểu. Đối với các kiểu dữ liệu thông thường, sizeof và alignof trả về cùng một giá trị. Đối với một số kiểu dữ liệu do người dùng xác định, alignof trả về một số giá trị khác nhau. Hãy để chúng tôi xem ví dụ để có được ý tưởng.

Ví dụ

#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;
}

Đầu ra

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