【发布时间】:2023-03-12 23:34:01
【问题描述】:
我想在编译时找到结构成员的字节偏移量。例如:
struct vertex_t
{
vec3_t position;
vec3_t normal;
vec2_t texcoord;
}
我想知道normal 的字节偏移量是(在这种情况下应该是12。)
我知道我可以使用offsetof,但这是一个运行时函数,我不想使用它。
我正在努力实现的目标是否可能?
编辑:offsetof 是编译时,我的错!
【问题讨论】:
-
为什么你不想使用
offsetof? -
@ViníciusGobboA.deOliveira 因为它是一个运行时函数,我希望在编译时收集这些信息,这样我就不需要使用 CPU 周期。
-
offsetof在编译时计算。 C++ 标准遵循 C 标准,C 标准根据 7.17(3) 规定它“扩展为整数常量表达式”。
标签: c++ struct offset compile-time offsetof