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