0

We have numbered variables like:

float my_float_0;
float my_float_1;
float my_float_2;

Is there any form of template / macro magic that would let us access these variables by index in a for loop?

jonnie
  • 101
  • 1
  • 10

1 Answers1

1

If you have no control over the variables, your only option is some good ol' macro metaprogramming. Boost.Preprocessor's documentation is a good place to start - you can iterate over a range of numbers and concatenate them with the my_float_ token to produce your variable names.

Example (untested):

#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

By changing what MACRO expands to, you can generate code for each variable.

Vittorio Romeo
  • 90,666
  • 33
  • 258
  • 416