У нас есть пронумерованные переменные, такие как:
float my_float_0;
float my_float_1;
float my_float_2;
Есть ли какая-либо форма магии шаблонов / макросов, которая позволила бы нам получить доступ к этим переменным по индексу в цикле for?
Если у вас нет контроля над переменными, ваш единственный вариант — это хорошее старое макропрограммирование макроса. Boost.Процессорная документация это хорошее место для начала — вы можете перебирать ряд чисел и объединять их с my_float_
токен для создания ваших имен переменных.
пример (Непроверенные):
#define SEQ (0)(1)(2)
#define MACRO(r, data, elem) BOOST_PP_CAT(elem, data)
BOOST_PP_SEQ_FOR_EACH(MACRO, my_float_, SEQ)
// expands to my_float_0 my_float_1 my_float_2
Изменяя то, что MACRO
расширяется до, вы можете генерировать код для каждой переменной.
Других решений пока нет …