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