在这里,我们将看到C ++中sizeof和alignof运算符有什么区别。C ++ 11中引入了alognof()运算符。
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