sizeof和alignof有什么区别?
在这里,我们将看到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