在C++中,我想知道为什么bool类型是8位长(在我的系统上),只有一位足以保存布尔值?
我曾经认为这是出于性能原因,但是在32位或64位机器上,寄存器为32或64位宽,性能优势是什么?
或者这只是这些"历史"原因之一?
为什么System.Boolean占用4个字节?它只存储一个状态,无论是真还是假,它可以存储在比4个字节更少的空间中.
C#中的布尔变量如何存储在内存中?也就是说,它们是作为一个字节存储而其他7位是否被浪费,或者,在数组的情况下,它们是否被分组为1字节的布尔块?
这回答了关于Java的相同问题(为什么没有定义Java的布尔基元大小?).Java和C#在这方面是一样的吗?