template <typename T>
void QVector<T>::append(const T &t)
{
const T copy(t);
const bool isTooSmall = uint(d->size + 1) > d->alloc;
if (!isDetached() || isTooSmall) {
QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default);
reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt);
}
if (QTypeInfo<T>::isComplex)
new (d->end()) T(copy);
else
*d->end() = copy;
++d->size;
}
Was ist der Grund, const T copy(t)
anstelle von t
nach Wert in die Methode zu machen? Was ist der Unterschied zwischen diesem und:QVector :: append() welcher Grund für das explizite Kopieren?
template <typename T>
void QVector<T>::append(const T t)
{
const bool isTooSmall = uint(d->size + 1) > d->alloc;
if (!isDetached() || isTooSmall) {
QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default);
reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt);
}
if (QTypeInfo<T>::isComplex)
new (d->end()) T(t);
else
*d->end() = t;
++d->size;
}
Warum denkst du, dass es wichtig ist? Was motiviert Sie, ein Wertargument in Betracht zu ziehen? –
Wahrscheinlichkeiten sind, halten sie einfach die Erklärung, um mit etwas im Einklang zu bleiben. Entweder Geschichte oder andere Funktionen. – nwp