LINUX.ORG.RU

[Qt] Vector operator=

 


0

1

перед присваиванием одного вектора другому нужно очищать принудительно тот вектор которому присваевается значение или нет?

Нет, также, учти, что там скорее всего используется CoW.

Kosyak ★★★★
()
template <typename T>
class QVector
{
    typedef QVectorTypedData<T> Data;
    union {
        QVectorData *d;
        Data *p;
    };

//.....
template <typename T>
QVector<T> &QVector<T>::operator=(const QVector<T> &v)
{
    QVectorData *o = v.d;
    o->ref.ref();
    if (!d->ref.deref())
        free(p);
    d = o;
    if (!d->sharable)
        detach_helper();
    return *this;
}

PS mind the cow :)

shty ★★★★★
()

Перед присваиванием одного инта другому нужно обнулять принудительно тот инт которму присваивается значение или нет?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.