c++ - boolean 冒号初始化

标签 c++ boolean colon

在阅读一些 C++ 代码时,我看到了类中的这一行,并对此感到困惑:

bool x:1;

在调试版本中,我注意到“x”被初始化为“false”,但我找不到任何相关文档。谁能告诉我这个语法的作用?

最佳答案

这是一个位域。阅读您的 C++ 教科书中的位域。

false 的初始化与声明无关。是否由您的代码保证取决于您的代码(未给出)。

C++ 标准为编译器提供了大小为 1 的整数和枚举位域的一些余地:在这样的字段中存储值 1,您可能会得到值 -1。令人高兴的是,这仅适用于大小为 1 的字段,不适用于 bool 类型的字段。

关于c++ - boolean 冒号初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11831362/

相关文章:

ruby-on-rails - ruby on rails,变量后面或前面的冒号

c++ - 冒号运算符在 C++ 中对变量声明意味着什么

c++ - protobuf 无法序列化

c++ - 对象如何成为子对象?

swift - 在 viewDidLoad 中设置 bool NSUserdefault

c++ - 在程序中使用 boolean 函数时遇到问题

java - 什么是冒号(:) operator do?

c++ - 使用 MinGW 在调试和发布中检查 STL 边界

c++ - 提高 fgetc 性能

python - 空列表 boolean 值