温馨提示×

c++ offsetof_函数offset的用法

c++
小亿
110
2023-12-19 21:50:06
栏目: 编程语言

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。

0