Sample code:
int ar[3];
............
ar[0] = 123;
ar[1] = 456;
ar[2] = 789;
Is there any way to init it shorter? Something like:
int ar[3];
............
ar[] = { 123, 456, 789 };
I don’t need solution like:
int ar[] = { 123, 456, 789 };
Definition and initialization must be separate.
What you are asking for cannot be done directly. There are, however different things that you can do there, starting from creation of a local array initialized with the aggregate initialization and then
memcpy-ed over your array (valid only for POD types), or using higher level libraries likeboost::assign.I don’t have time to check how to do this with
boost::assign, as I hardly ever work with raw arrays.