Предположим, у меня есть этот вложенный цикл
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