gpt4 book ai didi

c++ - 在 C99 中需要 _Bool 吗?

转载 作者:太空狗 更新时间:2023-10-29 19:43:42 27 4
gpt4 key购买 nike

我正在读一本关于 C 的书。它说C99增加了一个数据类型_Bool。它基本上是一个 int 但只存储 0 或 1。现在我不明白为什么需要这样的数据类型。我们已经有了 bool,它隐含地转换为 int,反之亦然。那么有人可以告诉我这种数据类型有用的情况吗。

PS:C++ 似乎不支持这种数据类型,如here .

#include <iostream>
using namespace std;

int main() {
// your code goes here
_Bool b = false;
if(b == 0)
printf("FALSE");
else
printf("TRUE");
return 0;
}

最佳答案

C 中的

_Bool 与其他整数类型的语义不同。

例如,对于整数的转换:

 (_Bool) 0.5

计算为 1

鉴于

 (int)  0.5

计算为 0

(这是 C99 Rationale 为 _Bool 类型给出的示例)。

关于c++ - 在 C99 中需要 _Bool 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com