[Development] RFC: more liberal 'auto' rules?

Knoll Lars Lars.Knoll at theqtcompany.com
Mon Dec 7 14:41:00 CET 2015


On 07/12/15 15:44, "Development on behalf of Marc Mutz" <development-bounces at qt-project.org on behalf of marc.mutz at kdab.com> wrote:



>On Monday 07 December 2015 13:48:58 Ziller Eike wrote:
>> I do not think that more usage of ‘auto’ will make any code (or
>> refactorings of it) ‘safer’. IMO this is only about convenience and
>> readability.
>
>  std::map<std::string, std::string> stdMap = ...;
>
>  for (const std::pair<std::string, std::string> &e : stdMap)
>      doSomething(e.first, e.second);
>
>  for (const auto &e : stdMap)
>      doSomething(e.first, e.second);
>
>The second loop is at least two orders of magnitude faster (doSomething() is 
>an out-of-line no-op).

I think the summary here is that auto gives you one guarantee: It won’t do an implicit conversion for the initial assignment.

Cheers,
Lars



More information about the Development mailing list