“uint isWidget:1;”中冒号(:)运算符的含义是什么?在Qt?

时间:2011-01-28 07:28:09

标签: c++ qt syntax operators colon

“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 
};

1 个答案:

答案 0 :(得分:14)

这是C struct表示法的一部分 - 您可以在属性名称后面使用: numBits指定整数字段的大小。

我必须假设在C ++类中可以使用相同的语法(我是C家伙,但我确信这在C ++中也是这样做的)