我正在学习C++,为了实验,我决定编写一个从内存运行并显示零和一的程序。
0 - 所有接下来的 8 位都是 0,1 - 接下来的 8 位中至少有一个是 1。这是代码:
bool array[1] = {};
for (int i = 0;;i++) {
cout << array[i] << ' ';
}
启动它后,我看到 240 等数字正在跳过。你能描述一下这段代码是如何工作的吗?bool
如果我们从一个值数组中获取,为什么内存中的字节没有转换成bool
?这段代码是如何工作的?
PS问题出现了,因为如果我们制作一个数组char
而不是bool
,字节将转换为字符,那么为什么字节不转换为bool
?
为清楚起见,两个带有输出的屏幕截图:
布尔数组:
字符数组: