在阅读一些 C++ 代码时,我看到了类中的这一行,并对此感到困惑:
bool x:1;
在调试版本中,我注意到“x”被初始化为“false”,但我找不到任何相关文档。谁能告诉我这个语法的作用?
最佳答案
这是一个位域。阅读您的 C++ 教科书中的位域。
false
的初始化与声明无关。是否由您的代码保证取决于您的代码(未给出)。
C++ 标准为编译器提供了大小为 1 的整数和枚举位域的一些余地:在这样的字段中存储值 1
,您可能会得到值 -1
。令人高兴的是,这仅适用于大小为 1 的字段,不适用于 bool
类型的字段。
关于c++ - boolean 冒号初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11831362/