Col*_*ett 9 c++ struct offsetof offset compile-time
我想在编译时找到struct成员的字节偏移量.例如:
struct vertex_t
{
    vec3_t position;
    vec3_t normal;
    vec2_t texcoord;
}
我想知道字节偏移量normal是(在这种情况下它应该是12.)
我知道我可以使用offsetof,但这是一个运行时功能,我宁愿不使用它.
我正在努力实现甚至可能吗?
编辑:offsetof是编译时,我的坏!
offsetof是一个编译时常量,如果我们看一下C++标准的C++ C.3 标准库   第2段说明:
C++标准库提供了来自C库的57个标准宏,如表149所示.
并且表格包括offsetof.如果我们转到C99标准草案部分,7.17 通用定义第3段包括:
offsetof(type,member-designator)
它扩展为一个整数常量表达式,其类型为size_t,其值是以字节为单位的偏移量[...]