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。