编译后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
。
这些速度相等吗?
return someNumber / sizeof(myStruct); // Pretend sizeof returns 88 always.
和
return someNumber / 88;
我不确定编译器是每次都计算 sizeof 还是写一个常量(这样我就可以安全地包含 sizeof() 而不是常量)。
是的。编译器在编译时知道 sizeof(myStruct)
,并将用适当的常量替换它。
C++ 中的 sizeof
表达式始终如此。
注意:这意味着,例如,sizeof(a++)
将 而不是 递增 a
。