01.02.2017 17:22, Marc Mutz пишет:
Ah, nevermind, 'found' is a QString_List_.
I'm curious how a non-implicitly-shared string type would help you there,
though. You can always clear() (or, in case of QVector<QString>, std::move())
the string, and capacity is left with the sole owner in the container.
QString s1;
s1.reserve(1024);
s1.resize(100, '*');
qDebug() << s1.capacity(); // 1024
QString s2 = s1;
s1[0] = '-';
qDebug() << s1.capacity(); // 100
qDebug() << s2.capacity(); // 1024
With non-implicitly-shared string the capacity of s1 won't change.
The idea of readLineInto() is to avoid memory allocations by writing
into the pre-allocated buffer.
But when readLineInto() is trying to write into an implicitly shared
string buffer,
then the content of the buffer is copied and readLineInto() writes into
the copy.
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development