Unlike algorithm fill, uninitialized_fill constructs the objects at destination, instead of just copying the value to them. This allows to obtain fully constructed copies into a range of uninitialized memory, such as a memory block obtained by a call to get_temporary_buffer or malloc.
The behavior of this function template is equivalent to:
| 1 2 3 4 5 6 7 |
|
Parameters
- first, last
- Forward iterators to the initial and final positions in an unitialized sequence. The range affected is [first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.
- x
- Value to be used to fill the range.
Return value
noneExample
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Output:
c++ rocks! c++ rocks! c++ rocks! |
Complexity
Linear: Constructs (copy constructor) as many objects as the number of elements in the range [first,last).See also
| fill | Fill range with value (function template) |
| uninitialized_copy | Copy block of memory (function template) |
| uninitialized_fill_n | Fill block of memory (function template) |
| get_temporary_buffer | Get block of temporary memory (function template) |
