> -----Original Message-----
> From: development-bounces+kai.koehne=theqtcompany.com@qt-
> project.org [mailto:development-
> bounces+kai.koehne=theqtcompany....@qt-project.org] On Behalf Of
> Julien Blanc
> Sent: Monday, May 18, 2015 12:08 PM
> To: development@qt-project.org
> Subject: Re: [Development] QTextStream::readLine(0) is an ambiguous
> overload in 5.5
> 
> On 17/05/2015 15:19, Giuseppe D'Angelo wrote:
> > On Sun, May 17, 2015 at 2:30 PM, Andre Somers
> <an...@familiesomers.nl> wrote:
> >> In the spirit of option b), would it be an option to have the method
> >> take a QString& instead of a QString*? That would resolve the ambiguity.
> > It would solve, but Qt APIs use pointers instead of references for
> > out-arguments (and that's a very good code policy).
> 
> That *was* a good policy (it has its drawbacks). C++11 tends to remove
> the need of raw pointers, C++14 makes a step further in that direction.
> Sticking to such a rule would mean going against the general evolution
> of the language.

Can you elaborate? We're talking about in/out parameters here, where
raw pointers IMO are still perfectly valid. What do you expect the signature 
of readLine(QString *line) to be in C++14?

Herb Sutter had a nice blog post about this a while ago:

http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/

He suggests to "use a * if you need to express null [...], otherwise prefer to 
use a &" though, where our coding standard suggests to use * for out 
parameters. Anyhow, this is an old argument that has nothing to do with C++11 , 
or smart pointers ... 


Regards

Kai
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to