使用整数作为循环计数器变量更好吗?

Jay*_*Jay 11 c loops

我记得在某处读取最好使用整数作为循环计数器变量而不是char或short.如果是,为什么?它是否提供任何优化好处?

asv*_*kau 14

通常,编译器将成为int放入CPU的通用寄存器的良好大小.这通常会导致快速访问.

当然没有任何保证.编译器可以自由地做很多事情,包括我猜想,推广一些char用于更大类型的代码.所以差异可能不重要.

说真的,对于这对真正的答案你的编译器,你应该看看它输出组件.


Ale*_*kov 8

在具有4字节(int)变量的32位架构操作中,变量通常更快.这主要是由于寄存器的大小和内存对齐.在64位架构中,它将(应该)自动生成64位整数.