Что означает оператор двоеточия (:) в "uint isWidget: 1;" в Qt? [дубликат]
этот вопрос уже есть ответ здесь:
что означает оператор двоеточия (:) в "uint isWidget : 1;" в Qt? Это "uint с естьвиджет : 1;" эквивалентно "uint с естьвиджет(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++)