“uint isWidget:1;”中冒号(:)运算符的含义是什么?在Qt?是“uint isWidget:1;”相当于“uint isWidget(1)”?
Qt中的代码是
QObjectData
{
public:
virtual ~QObjectData() = 0;
QObject *q_ptr;
QObject *parent;
QObjectList children;
uint isWidget : 1;
uint pendTimer : 1;
uint blockSig : 1;
uint wasDeleted : 1;
uint ownObjectName : 1;
uint sendChildEvents : 1;
uint receiveChildEvents : 1;
uint inEventHandler : 1;
uint inThreadChangeEvent : 1;
uint hasGuards : 1; //true iff there is one or more QPointer attached to this object
uint unused : 22;
int postedEvents;
QMetaObject *metaObject; // assert dynamic
};
答案 0 :(得分:14)
这是C struct
表示法的一部分 - 您可以在属性名称后面使用: numBits
指定整数字段的大小。
我必须假设在C ++类中可以使用相同的语法(我是C家伙,但我确信这在C ++中也是这样做的)