Это, вероятно, не является «лучшей практики», но я хочу добавить свои собственные операторы цикла:Уникальное имя для переменной цикла в макро
#define repeat(count) for(int _repeat_i = 0; _repeat_i < (count); _repeat_i++)
Тогда это будет работать нормально:
repeat(5) {
do_stuff();
}
Но я не могу его вложить:
repeat(5) {
do_big_stuff();
repeat(3) {
do_little_stuff();
}
}
... потому что имена переменных будут сталкиваться.
Любой способ создания уникального имени переменной в макросе?
Не вы обычно нужен индекс цикла внутри цикла? Почему бы не изменить свой макрос, чтобы принять это, таким образом, вручную разрешая столкновения? – Pradhan
Это был бы другой вариант макроса, но здесь мне не нужен индекс (пример - я хочу, чтобы вспышка светодиода 5 раз). Подумайте о примере с рекурсивным макросом - там вам сложно связать имя цикла, но он столкнется с вложенным циклом – MightyPork