[C++11] Use initializer lists and uniform init where possible