sizeof(int)(或任何简单数据类型的任何大小)在运行时是否会花费任何成本?

时间:2013-08-09 05:43:33

标签: c++ sizeof

我原以为所有必要的信息都会在编译时知道,编译器可以插入一个常量值。

这确实发生了吗?

3 个答案:

答案 0 :(得分:1)

没有。 sizeof(int)导致size_t类型的常量表达式,这意味着它在编译时已知。没有运行时间过头!

答案 1 :(得分:1)

没有。这是一个编译时间。

答案 2 :(得分:1)

不,在C ++中,sizeof始终在编译时进行评估。

请注意,在C中不是这样,例外是可变长度数组。