шаблоны — C ++ Доступ к пронумерованным переменным

У нас есть пронумерованные переменные, такие как:

float my_float_0;
float my_float_1;
float my_float_2;

Есть ли какая-либо форма магии шаблонов / макросов, которая позволила бы нам получить доступ к этим переменным по индексу в цикле for?

0

Решение

Если у вас нет контроля над переменными, ваш единственный вариант — это хорошее старое макропрограммирование макроса. 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 расширяется до, вы можете генерировать код для каждой переменной.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]