21xrx.com
2024-11-22 08:13:34 Friday
登录
文章检索 我的文章 写文章
C++的fill函数怎么使用?
2023-06-23 09:50:34 深夜i     --     --
C++ fill函数 使用

C++中的fill函数是一种很有用的方法,能够用来设置数组或容器中范围内的元素都为特定的值。该函数位于algorithm标准头文件中,其声明方式为:


template< class ForwardIt, class T >

void fill( ForwardIt first, ForwardIt last, const T& value );

其中,first和last是范围的起始和结束迭代器,value是要对范围中每个元素赋的值。

下面我们来看一些例子,加深理解fill函数的使用:

1. 对数组进行赋值


int arr[5];

fill(arr, arr+5, 0); //将arr数组中的元素都赋为0

2. 对容器进行赋值


vector<int> v 4;

fill(v.begin()+2, v.end()-1, -1);  //将v容器中第3个到倒数第2个元素都赋为-1

3. 对二维向量进行赋值


vector<vector<int>> vec{1, 4, 8};

fill(vec[0].begin(), vec[0].end(), -1);  //将vec向量中第1行元素都赋为-1

需要注意,fill函数并不检测end是否在begin之前。因此,在使用fill前,应该确保迭代器的有效性,并确定填充范围的正确性。

对于需要条件地填充某些元素的情况,可以使用std::fill_if函数。这个函数的使用和fill类似,只不过需要传入一个谓词函数,用来指定哪些元素需要赋值。 例如:


vector<int> v4;

fill_if(v.begin(), v.end(), [](int i) return i % 2 == 0; , -1);  //将v容器中偶数元素都赋为-1

总之,fill函数是非常简单易用的函数,可以方便地为数组或容器的某一范围内的元素赋值,提高了编程效率和代码可读性。

  
  

评论区

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