21xrx.com
2024-11-05 14:52:58 Tuesday
登录
文章检索 我的文章 写文章
C++的fill函数
2023-07-10 09:49:28 深夜i     --     --
C++ fill函数 STL 容器 数组

C++的fill()函数是一种算法,它可以将给定范围内的所有元素设置为特定的值。它在STL(标准模板库)中被定义为算法头文件 中的函数。它有两个版本,一个版本是向某个数组或容器内填充特定的值,另一个版本是向某个特定范围(起始迭代器和结束迭代器)内填充特定的值。

fill()函数的语法如下所示:

1. fill(Container_name.begin(), Container_name.end(), value);

2. fill(Array_name, Array_name + Array_size, value);

在第一个版本中,我们可以将一个值复制到容器中的所有元素中。在这个版本中,我们需要传递容器的起始迭代器和结束迭代器以及要填充的值。容器包括std::vector、std::list、std::deque、std::forward_list、std::array和std::string等。例如,这里是一个使用fill()函数在向一个vector中的所有元素赋值:


#include <iostream>

#include <vector>

#include <algorithm>

int main()

{

  std::vector<int> myVector = 30;

  std::fill(myVector.begin(), myVector.end(), 0);

  for (auto i : myVector)

    std::cout << i << " ";

  return 0;

}

该程序的输出将是:0 0 0 0 0。

在第二个版本中,我们可以复制一种值到数组中的所有元素中。在这个版本中,我们需要传递的是数组的起始地址和结束地址以及要填充的值。例如,这里是使用fill()函数向一个数组中的所有元素赋值:


#include <iostream>

#include <algorithm>

int main()

{

  int myArray[6] = 6 ;

  std::fill(myArray, myArray + 6, 10);

  for (int i = 0; i < 6; i++)

    std::cout << myArray[i] << " ";

  return 0;

}

该程序的输出将是: 10 10 10 10 10 10。

总的来说,fill()函数是一个非常有用的STL算法之一,可以帮助我们在C++中修改数组或容器中特定范围的任何元素的值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复