gpt4 book ai didi

c++ - 为什么我们可以使用 int 时 bool 存在?

转载 作者:太空狗 更新时间:2023-10-29 23:38:37 26 4
gpt4 key购买 nike

这听起来可能是一个非常愚蠢的问题。但是这几天一直困扰着我。而且它不仅涉及 C++ 编程语言,因为我已经添加了它的标签。我的问题是。在计算机科学中, boolean (bool) 数据类型只有两个可能的值。 '对或错'。而且,在计算机科学中,1 为真,0 为假。那么为什么 boolean 值存在呢?为什么我们不使用只能返回两个可能值的整数,例如 1 或 0。

例如:

bool mindExplosion = true; // true!
int mindExplosion = 1; // true!!
// or we can '#define true 1' and it's the same right?

我错过了什么?

最佳答案

Why does bool exist when we can use int?

好吧,您不需要像 int 这样大的东西来表示两个状态,因此允许使用较小的类型来节省空间是有意义的

Why not we use an integer that can return only two possible values, Such as 1 or 0.

这正是 bool 的含义。 It is an unsigned integer type that represents true (1) or false (0).


为此设置特定类型的另一个好处是它无需任何文档即可表达意图。如果我们有一个像(警告,非常人为的例子)这样的函数

void output(T const & val, bool log)

很容易看出 log 是一个选项,如果我们传递 false 它就不会记录。如果是的话

void output(T const & val, int log)

然后我们不确定它的作用。它要求日志级别吗?关于是否登录的标志?还有别的吗?

关于c++ - 为什么我们可以使用 int 时 bool 存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57828781/

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