编译后sizeof是不是转成常量了?

Is sizeof converted to a constant number after compilation?

这些速度相等吗?

return someNumber / sizeof(myStruct); // Pretend sizeof returns 88 always.

return someNumber / 88;

我不确定编译器是每次都计算 sizeof 还是写一个常量(这样我就可以安全地包含 sizeof() 而不是常量)。

是的。编译器在编译时知道 sizeof(myStruct),并将用适当的常量替换它。

C++ 中的 sizeof 表达式始终如此。

注意:这意味着,例如,sizeof(a++) 而不是 递增 a