offsetof
是一个宏,用于获取结构体中指定成员的偏移量。
其语法如下:
size_t offsetof(type, member)
其中,type
是结构体的类型,member
是结构体中的成员名。
offsetof
返回一个 size_t
类型的值,表示指定成员在结构体中的偏移量。偏移量是指该成员相对于结构体起始地址的字节偏移量。
以下是一个示例:
#include <iostream>
#include <cstddef>
struct MyStruct {
int a;
char b;
double c;
};
int main() {
size_t offset = offsetof(MyStruct, c);
std::cout << "Offset of member 'c' in MyStruct: " << offset << std::endl;
return 0;
}
输出结果为:
Offset of member 'c' in MyStruct: 8
在这个示例中,offsetof(MyStruct, c)
返回成员 c
在结构体 MyStruct
中的偏移量,即8。