11

"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 
};
4

1 回答 1

15

这是 C 表示法的一部分- 您可以通过在属性名称后struct使用 a 来指定整数字段的大小(以位为单位) 。: numBits

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

于 2011-01-28T07:33:02.663 回答