uninitialized_fill_n
uninitialized_fill_n
Categories: allocators, algorithms
Component type: function
Prototype
template <class ForwardIterator, class Size, class T>
ForwardIterator uninitialized_fill_n(ForwardIterator first, Size n,
const T& x);
Description
In C++, the operator new allocates memory for an object and then
creates an object at that location by calling a constructor. Occasionally,
however, it is useful to separate those two operations. [1] If each iterator
in the range [first, first + n) points to uninitialized
memory, then uninitialized_fill_n creates copies of x
in that range. That is, for each iterator i in the range [first,
first + n), uninitialized_fill_n creates a copy of x in
the location pointed to i by calling construct(&*i, x).
Definition
Defined in the standard header memory, and in the nonstandard
backward-compatibility header algo.h.
Requirements on types
ForwardIterator is a model of Forward Iterator.
ForwardIterator is mutable.
Size is an integral type that is convertible to ForwardIterator's
distance type.
ForwardIterator's value type has a constructor that takes a
single argument of type T.
Preconditions
n is nonnegative.
[first, first + n) is a valid range.
Each iterator in [first, first + n) points to
a region of uninitialized memory that is large enough to store
a value of ForwardIterator's value type.
Complexity
Linear. Exactly n constructor calls.
Example
class Int {
public:
Int(int x) : val(x) {}
int get() { return val; }
private:
int val;
};
int main()
{
const int N = 137;
Int val(46);
Int* A = (Int*) malloc(N * sizeof(Int));
uninitialized_fill_n(A, N, val);
}
Notes
[1]
In particular, this sort of low-level memory management is used
in the implementation of some container classes.
See also
Allocators, construct, destroy,
uninitialized_copy, uninitialized_fill,
raw_storage_iterator
Copyright ©
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
Wyszukiwarka
Podobne podstrony:
uninitialized fillChristmas Picture Gap Fill Worksheetfunction cpdf setgray fillOpacity vs Fillfunction pdf setrgbcolor fillfunction pdf fill strokearm fill ?2?function pdf setgray fillfunction pdf closepath fill strokefunction pdf fill strokefunction pdf setrgbcolor fillfunction cpdf fillfunction cpdf closepath fill strokefunction pdf fillClothes cloze fill infunction pdf fill strokewięcej podobnych podstron