C++ ';无符号变量:值';C++;
我正在处理三元搜索树,我在三元搜索树节点结构中遇到了一件不同的事情:C++ ';无符号变量:值';C++;,c++,c++11,boolean,unsigned,C++,C++11,Boolean,Unsigned,我正在处理三元搜索树,我在三元搜索树节点结构中遇到了一件不同的事情: struct Node { char data; // True if this character is last character of one of the words unsigned isEndOfString: 1; struct Node *left, *eq, *right; }; 它与C++11和旧版本都兼容。我想知道这无符号isEndOfString:1是什么意思?它
struct Node {
char data;
// True if this character is last character of one of the words
unsigned isEndOfString: 1;
struct Node *left, *eq, *right;
};
它与C++11和旧版本都兼容。我想知道这无符号isEndOfString:1
是什么意思?它与bool isEndOfString=true有何不同?此语句实际上指的是什么类型,何时使用这种语法比较方便?它的大小为1。因此,isEndOfString
是一个值为0或1的单个位
基本上,它允许您在这里以单个位存储布尔标志,从而最小化节点的内存占用
请注意,位字段是从C继承的。谢谢!你能告诉我,<代码>未签名的<代码>默认是< C++ >未签名的char < /> >还是<代码>未签名的int >?