【C++】bool a:1;这个怎么解释?

xiaoxiao2021-02-28  11

Bit field, 位域。

意思大概就是你虽然声明自己是个bool(8bit),但我可以只占1bit的空间。

#include<iostream> using namespace std; struct S1 { bool b1 :1; bool b11 ;1; bool b111 :1; unsigned a :20; unsigned b :10; }

节省内存,bool变量只需要1bit,编译器会帮助做位运算以保证赋值和取值都是正确的,但不能再取得地址了。

以时间换空间

转载请注明原文地址: https://www.6miu.com/read-2300125.html

最新回复(0)