粗略了解fill与fill_n

Posted Slager_Z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粗略了解fill与fill_n相关的知识,希望对你有一定的参考价值。

以前只知道数组赋值时用memset();

而这几天却了解到了一个函数:fill();

感觉以后会有用吧。。。

std::fill

template <class ForwardIterator, class T>
  void fill (ForwardIterator first, ForwardIterator last, const T& val);
Fill range with value

Assigns val to all the elements in the range [first,last).

The behavior of this function template is equivalent to:

1
2
3
4
5
6
7
8
template <class ForwardIterator, class T>
  void fill (ForwardIterator first, ForwardIterator last, const T& val)
{
  while (first != last) {
    *first = val;
    ++first;
  }
}
 

这个函数可以将所求区间的每一个单元的值更改为新的值;

(未完待续)

 

以上是关于粗略了解fill与fill_n的主要内容,如果未能解决你的问题,请参考以下文章

fill_n() 不允许更改变量值

STL源代码剖析——基本算法stl_algobase.h

STL入门学习中碰到的一些函数

stl变易算法

win32-StretchDIBits

win32-StretchDIBits