[Development] RFC: more liberal 'auto' rules?
Matthew Woehlke
mwoehlke.floss at gmail.com
Mon Dec 7 16:15:49 CET 2015
On 2015-12-05 06:08, Julien Blanc wrote:
> Am I the only one to think that this example is inherently broken ? I
> mean, why wouldn’t any sane person write :
>
> for(auto const& element : list)
> foo(element)
If you don't actually *need* the index, then yes. "Broken" might be
strong, but yes, the example is somewhat lacking. A better example would be:
foo(i, list[i]);
(And yes, if you don't need the index, *please do* iterate over the
elements directly!)
> On 2015-12-03 13:49, Marc Mutz wrote:
>> - all loop variables (both index and iterators)
>> the reason being that spelling out the name is usually wrong:
>> size_t i = stdVector.size() // wrong, should be
>> std::vector::size_type...
>> also helps when porting from Qt containers to STL ones
>
> That looks perfectly fine for me. Index based loops should be avoided
> whenever it is possible, and for iterator based loops auto makes no harm
> (seriously, who wants to write
> std::vector<my_very_long_type>::const_iterator instead of auto ?).
Agreed. But the above started with objections to using 'auto' for
indexed iteration :-).
--
Matthew
More information about the Development
mailing list