Kar*_*son 7 c++ performance boolean typedef
我在某处读到使用BOOL(typedef int)比使用标准c ++类型bool更好,因为BOOL的大小是4个字节(即4的倍数),它将变量的对齐操作保存到寄存器或沿着这些行的某些东西. .
有没有道理呢?我想编译器会填充堆栈帧,以便即使你使用bool(1字节)也能保持多个4的对齐?
我绝不是对齐,寄存器等基础工作的专家,所以如果我完全错了,我会提前道歉.我希望得到纠正.:)
干杯!
NPE*_*NPE 7
首先,sizeof(bool)不一定1.它是实现定义的,使编译器编写者可以自由选择适合目标平台的大小.
sizeof(bool)
1
而且,sizeof(int)不一定4.
sizeof(int)
4
有多个问题可能会影响性能:
什么 - 如果有的话 - 对特定代码片段的差异只能通过分析那段代码来建立.
归档时间:
13 年,8 月 前
查看次数:
7013 次
最近记录: