История изменений
Исправление q0tw4, (текущая версия) :
Qt построен поверх stl
Сходу нарыл qarraydata.h
struct Q_CORE_EXPORT QArrayData
{
QtPrivate::RefCount ref;
int size;
uint alloc : 31;
uint capacityReserved : 1;
qptrdiff offset; // in bytes from beginning of header
void *data()
{
Q_ASSERT(size == 0
|| offset < 0 || size_t(offset) >= sizeof(QArrayData));
return reinterpret_cast<char *>(this) + offset;
}
....
template <class T, size_t N>
struct QStaticArrayData
{
QArrayData header;
T data[N];
};
stl-ем там не пахнет. Он фигурирует только в fromStdVector и toStdVector. Собственно Qt писался вроде как когда stlя еще толком и не было и пытался им стать.
Исправление q0tw4, :
Qt построен поверх stl
Сходу нарыл qarraydata.h
struct Q_CORE_EXPORT QArrayData
{
QtPrivate::RefCount ref;
int size;
uint alloc : 31;
uint capacityReserved : 1;
qptrdiff offset; // in bytes from beginning of header
void *data()
{
Q_ASSERT(size == 0
|| offset < 0 || size_t(offset) >= sizeof(QArrayData));
return reinterpret_cast<char *>(this) + offset;
}
....
template <class T, size_t N>
struct QStaticArrayData
{
QArrayData header;
T data[N];
};
stl-ем там не пахнет. Он фигурирует только в fromStdVector и toStdVector. Собственно Qt писался вроде как когда stlя еще толком и не было и пытался его заменить.
Исходная версия q0tw4, :
Qt построен поверх stl
Сходу нарыл qarraydata.h
struct Q_CORE_EXPORT QArrayData
{
QtPrivate::RefCount ref;
int size;
uint alloc : 31;
uint capacityReserved : 1;
qptrdiff offset; // in bytes from beginning of header
void *data()
{
Q_ASSERT(size == 0
|| offset < 0 || size_t(offset) >= sizeof(QArrayData));
return reinterpret_cast<char *>(this) + offset;
}
....
template <class T, size_t N>
struct QStaticArrayData
{
QArrayData header;
T data[N];
};
stl-ем там не пахнет. Он фигурирует только в fromStdVector и toStdVector