cpp-ru / ideas

Идеи по улучшению языка C++ для обсуждения
https://cpp-ru.github.io/proposals
Creative Commons Zero v1.0 Universal
89 stars 0 forks source link

Короткая запись "foreach" #240

Closed apolukhin closed 2 years ago

apolukhin commented 3 years ago

Перенос предложения: голоса +0, -16 Автор идеи: Р

В С++11 ввели аналог foreach, типа:

for (auto x : list) { /* .. */ },

Можно запись укоротить до for (list) { /* item */ }, доступ к текущему элементу в итерации например через ключевое слово item или типа того. Либо foreach (list) {} , fors (list) {} (for short)

apolukhin commented 3 years ago

Antervis, 27 ноября 2017, 14:04

#define foreach(list) for (auto &&item : list)

smertigdon, 27 ноября 2017, 15:16 Уже предложили укоротить for (auto&& x : list) до for (x : list) Куда уж короче-то?

Р, 28 ноября 2017, 17:44 Да можно и дефайнами, но постоянно их таскать и добавлять - не очень удобно. А вот конструкция например fors(&:list) или fors(&&:list) для разных типов item-ов помогла бы сократить написание кода, сейчас тенденция идет в сторону того чтобы программист в первую очередь быстрее реализовывал свою основную идею, а не останавливался на дежурных конструкциях которые нужно вводить. Но! при этом осталась бы возможность более детализировать условия цикла. Если в языке "сложно" выражается простая мысль/замысел - то его популярности это пойдет не на пользу.

apolukhin commented 2 years ago

Закрываю, как непопулярную идею. Голосование в международном комитете не пройдёт.