Цитата
Стоит отметить, что хоть range-based for и является мощным и удобным инструментом, он, как и все остальное в C++, не работает на Святом Духе, как могут считать некоторые представители педагогического состава нашей страны. range-based for неявно вызывает у контейнера методы begin() и end(), которые возвращают, в свою очередь, привычные нам итераторы.
неплохо... то есть вместо for(int i=0;i<n;i++) зафигачили трудночитаемую конструкцию, которая при этом еще работает через одно место множа вызовы.
Есть интересные нововведения 11 стандарта, но часть из них для борьбы с разросшимися шаблонами, и их не стоит применять для разработки железа. А именно этот пример читабельность не улучшает, и скорость не увеличивает... так что это ради понтов не более....
однако грустный момент, как соответствовать то? Стандарты выходят быстрее продуктов...
Цитата
Углубляясь в историю, стоит отметить, что auto переменные были и раньше, до принятия стандарта C++11. Вот только значение они имели другое. Под auto подразумевался спецификатор хранения переменной. То есть, auto находился в одном ряду с register, static, extern, и указывал на то, что переменная имеет локальное время жизни. Об этом почти не знают начинающие, так как любая переменная объявленная в некотором блоке неявно определяется как auto.
прикольно, я начинающий%).... я про авто не сном не духом, что-то в моих книжках про них авторы не упомянули

Цитата
А не нужно туда заглядывать.
Задач, где нужна оптимальность кода, не так много. Чаще пишется обычный, не критичный ко времени исполнения код, развесистая логика. Тут важнее читабельность исходников. И не только для автора.
Разговоры "я пишу один и мне все понятно" в пользу бедных.
верно для компьютеров не верно для железа, все таки пока еще такты считаем, хочется чтобы схема и реагировала побыстрее и дел делала побольше.
Про читабельность, я пишу на С# и там часто использую foreach, но в данном конкретном случае этот аналог - for читабельность не увеличил, по мне даже уменьшил ссылками и прочим...