Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在阅读一些 C++ 代码时,我在一个类中看到并被这行代码弄糊涂了:
bool x:1;
在调试版本中,我注意到“x”被初始化为“假”,但我找不到任何关于它的文档。谁能告诉我这个语法是做什么的?
这是一个位领域。阅读 C++ 教科书中的位域。
的初始化false独立于声明。您的代码是否保证取决于您的代码(未给出)。
false
c++ 标准为编译器为大小为 1 的整数和枚举位域提供了一些余地:将值存储1在这样的字段中,您可能会得到值-1。幸运的是,这仅适用于大小为 1 的字段,不适用于类型为 的字段bool。
1
-1
bool