cpp/memory/ranges/uninitialized default construct

@1@ Constructs objects of type in the uninitialized storage designated by the range  by default-initialization, as if by

@@ If an exception is thrown during the initialization, the objects already constructed are destroyed in an unspecified order.

@2@ Same as, but uses as the range, as if using  as , and  as.

Return value
An iterator equal to.

Complexity
Linear in the distance between and.

Exceptions
The exception thrown on construction of the elements in the destination range, if any.