Based on Johannes Schaub - litb answer ... at least GCC will allow you to use shorthand syntax (excluding meaningless class name):
Foo() : memberArray{{ {1}, {3}, {2} }} {}
instead
Foo() : memberArray{{Bar(1), Bar(3), Bar(2)}} {}
I personally use something like the second version when I initialize an array of polymorphic pointers:
Foo() : memberArray{{ dynamic_cast<Bar*>(new BarA(1)), dynamic_cast<Bar*>(new BarB(3)), dynamic_cast<Bar*>(new BarC(2)) }} {}
source share