With C++11 std::array, do I have the guarantee that the syntax std::array x; will default-initialize all the elements of the array ?
std::array
std::array x;
First of all, T x[N] does default initialize the elements, although default initialization of a scalar type T actually does nothing. The above also holds for std::array x. I think what you need is list initialization.