当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ std::fill_n()用法及代码示例


C++ STL std::fill_n() 函数

fill_n()函数是算法头的库函数,用于给容器的n个元素赋值,它接受一个指向容器中起始位置的迭代器,n(元素个数)和一个要赋值的值给 n 个元素,并赋值。

注意:使用 fill_n() 函数 - 包括<algorithm>标题或者您可以简单使用<bits/stdc++.h>头文件。

std::fill_n() 函数的语法

    std::fill_n(iterator start, n, value);

参数:

  • iterator start- 一个迭代器,指向我们必须将值分配给接下来的 n 个元素的位置。
  • n- 要分配给给定值的元素数。
  • value- 要分配给 n 个元素的相同类型的值。

返回值: void- 它返回注意。

例:

    Input:
    vector<int> v(10);
    
    //filling 10 elements with -1
    fill(v.begin(), 10, -1);
    
    Output:
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

用于演示 std::fill_n() 函数使用的 C++ STL 程序

在这个程序中,我们将填充一个向量的 n 个元素。

//C++ STL program to demonstrate use of
//std::fill_n() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    //vector
    vector<int> v(10);

    //filling all elements with -1
    fill_n(v.begin(), 10, -1);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    //filling initial 3 elements with 100
    fill_n(v.begin(), 3, 100);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    //filling rest of the elements with 200
    fill_n(v.begin() + 3, 7, 200);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出

v:-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
v:100 100 100 -1 -1 -1 -1 -1 -1 -1
v:100 100 100 200 200 200 200 200 200 200

参考:C++ std::fill_n()



相关用法


注:本文由纯净天空筛选整理自 std::fill_n() function with example in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。