溫馨提示×

c++ offsetof_函數offset的用法

c++
小億
183
2023-12-19 21:50:06
欄目: 編程語言

offsetof是一個宏,用于獲取結構體中指定成員的偏移量。

其語法如下:

size_t offsetof(type, member)

其中,type是結構體的類型,member是結構體中的成員名。

offsetof返回一個 size_t 類型的值,表示指定成員在結構體中的偏移量。偏移量是指該成員相對于結構體起始地址的字節(jié)偏移量。

以下是一個示例:

#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