c++给容器赋值实现批量赋值的算法

时间:2025-03-15 07:25:53

template <class OutputIterator, class Size, class T>
OutputIterator fill_n (OutputIterator first, Size n, const T& val)
{
    while (n>0) 
    {
        *first = val;
        ++first;
         --n;
    }
    return first;     // since C++11
}
  • 参数说明
    first:起始位置。
    n:表示包括起始位置后的多少个数。
    val:要赋予容器中这些范围中元素的值。

  • 示例

std::vector<int> myvector (8,10);     // myvector: 10 10 10 10 10 10 10 10
std::fill_n ((),4,20);   // myvector: 20 20 20 20 10 10 10 10
std::fill_n (()+3,3,33);  // myvector: 20 20 20 33 33 33 10 10
copy (std::begin(myvector), std::end(myvector), std::ostream_iterator<int>(cout, " "));// output

  • std::iota

相关文章