template<class FwdIt, class Size, class Ty>
void uninitialized_fill_n(FwdIt first, Size count,
const Ty& val);
The template function effectively executes:
while (0 < count--)
new ((void *)&*first++)
iterator_traits<FwdIt>::value_type(val);
unless the code throws an exception. In that case, all constructed objects are destroyed and the exception is rethrown.