The newly-created array, or null if either length was 0 or allocation failed.
The first two overloads throw only if the used allocator's primitives do. The overloads that involve copy initialization deallocate memory and propagate the exception if the copy operation throws.
Create an array of T with length elements. The array is either default-initialized, filled with copies of init, or initialized with values fetched from range.