sizeof 和 alignof 有什么不同?
接下来,我们将了解 sizeof 和 alignof 操作符在 C++ 中的区别。alognof() 操作符是在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP