With C++11 std::array, do I have the guarantee that the syntax std::array will default-initialize all the elements of the array ?
Both T x[N]; and std::array default-initialize every element of the array.
For example, if T = std::string, every element will be an empty string. If T is a class without a default constructor, both will fail to compile. If T = int, every element will have indeterminate value (unless that declaration happens to be at namespace scope)