Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ';无符号变量:值';C++;_C++_C++11_Boolean_Unsigned - Fatal编程技术网

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 >?