[Development] QTextStream::readLine(0) is an ambiguous overload in 5.5
Thiago Macieira
thiago.macieira at intel.com
Sun May 17 21:21:35 CEST 2015
On Sunday 17 May 2015 22:17:04 Marc Mutz wrote:
> On Sunday 17 May 2015 15:19:49 Giuseppe D'Angelo wrote:
> > It would solve, but Qt APIs use pointers instead of references for
> > out-arguments (and that's a very good code policy).
>
> *Any* form of out parameter is bad code policy. Much better in virtually all
> cases to return multiple values in a small struct.
>
> In the case at hand, the idea is probably to reuse the capacity of the
> passed QString, so returning a struct while still allowing reuse of the
> capacity requires C++11 (taking a QString&& to avoid a refcount > 1, which
> incidentally shows how poor pointer parameter semantics really are).
>
> I believe it was Sean Parent who in one of his talks showed how capacity-
> preserving file reading should be implemented (iirc, by keeping the string
> as a member of an object and handing it out as a reference).
Since we're not going to implement that, I suggest renaming the function to
"readLineInto" to solve the ambiguity.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list