Что означает оператор двоеточия (:) в "uint isWidget: 1;" в Qt?

Что означает оператор двоеточия (:) в "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 ответ

Решение

Это часть C struct нотация - вы можете указать размер целочисленного поля в битах, используя : numBits после имени свойства.

Я должен предположить, что тот же синтаксис может быть использован в классе C++ (я парень C, но я уверен, что это делает то же самое в C++)

Другие вопросы по тегам