std::uninitialized_fill

来自cppreference.com
< cpp‎ | memory

 
 
 
 
定义于头文件 <memory>
template< class ForwardIt, class T >
void uninitialized_fill( ForwardIt first, ForwardIt last, const T& value )
复制给定值value一个未初始化的内存区域,范围[first, last)的定义。使用拷贝构造函数构造中的元素未初始化的区域.
原文:
Copies the given value value to an uninitialized memory area, defined by the range [first, last). The elements in the uninitialized area are constructed using copy constructor.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

first, last -
的范围内的元素来进行初始化
原文:
the range of the elements to initialize
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
value -
的值来构造的元素
原文:
the value to construct the elements with
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
类型要求
-
ForwardIt 必须满足 ForwardIterator 的要求。

[编辑] 返回值

(无)
原文:
(none)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 复杂度

线性firstlast之间的距离
原文:
Linear in the distance between first and last
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 可能的实现

template<class ForwardIt, class T>
void uninitialized_fill(ForwardIt first, 
                        ForwardIt last,
                        const T& value)
{
    typedef typename std::iterator_traits<ForwardIt>::value_type Value;
    for (; first != last; ++first) {
        ::new (static_cast<void*>(&*first)) Value(value);
    }
}

[编辑] 示例

[编辑] 另请参阅

将单个对象复制到未初始化的内存区域
(函数模板) [编辑]