Повторное использование вложенных циклов без копирования и вставки

Предположим, у меня есть этот вложенный цикл

for (int a=1; a<MAX_A; ++a)
  for (int b=1; b<MAX_B; ++b)
    for (int c=1; c<MAX_C; ++c)
    {
       do_something(a, b ,c);
    }

, и я повторно использую этот цикл в различных частях моего кода, изменяя функцию do_something . Переписывать каждый раз первые три строчки довольно скучно. Например, в Python я бы создал генератор, возвращающий итератор (1, 1, 1), (1, 1, 2), ... или что-то вроде itertools.product .

Единственное решение в C ++, которое я имею в виду, - это определение макроса. Что-нибудь получше? E

7
задан Beginner 4 June 2018 в 15:19
поделиться