LINUX.ORG.RU

История изменений

Исправление 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