c++ - 在 C++ 中,使用 bool 而不是 char 有什么意义?

标签 c++ char boolean bit-manipulation

sizeof(char) 和 sizeof(bool) 都等于 1(在我的编译器/系统/不管怎样,我听说它并不总是相同的值),bool 只能存储 true 或 false,而 char可以取更多的值,并且可以使用按位运算符充当多个 bool 变量(8 位,每个位可以用作 1 个 bool,总共 8 个 bool)

那么使用 bool 代替 char 有什么优势吗?

那么除了可读性之外还有别的吗?我在某处读到,即使占用更多内存,int 的处理速度也比 short 或 byte 快。 char 和 bool 在速度上有什么区别吗?

最佳答案

使用bool 的要点是表达意图。如果变量旨在存储具有 true/false 语义的值,则允许附加值只是潜在的错误来源。

关于c++ - 在 C++ 中,使用 bool 而不是 char 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19753392/

相关文章:

c++ - 为什么当我 "run"Xcode 产生一个更大的文件?

c++ - 使用 char *[] = "something"时如何输出单个字符

c# - 运算符 ‘==’ 不能应用于类型 ‘char’ 和 ‘string’ 的操作数

c++ - 通过 const 引用传递对象与传递无名对象

c++ - 获取 Apache Avro 通用记录字段的名称?

c++ - 访问 vector 的通用迭代器

encoding - 将带变音符号的 NSString 转换为 const char *

java - 带有 int : Java believes i want to convert to boolean 的 If 语句

java - boolean 逻辑 - 比较三个 boolean 值

java - 如果可选 boolean 值为真,如何执行操作?