c++ 批量初始化数组 fill和fill_n函数的应用

转自c++ 如何批量初始化数组 fill和fill_n函数的应用

std::fill(a+2,a+10,0x3f3f3f3f);///从下标2到下标10  前闭后开 共8个

std::fill_n(a+2,10,0x3f3f3f3f);///从下标2 开始 填充10个

memset(a,0x7f7f7f7f,sizeof(a));

一、 fill和fill_n函数的应用:

    fill函数的作用是:将一个区间的元素都赋予val值。

     函数参数:fill(first,last,val);//first为容器的首迭代器,last为容器的尾迭代器,

替换元素的区间为[first,last),val为将要替换的值。

     eg:
             vector <int> V;
             fill(V.begin(),V.end(),val);

二、fill_n函数的作用是:

给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予 count个元素val的值。

       注意: 不能在没有元素的空容器上调用fill_n函数。

三、关于memset()函数:

  这个 函数是按字节覆盖,批量初始化内存空间

max_int= 2147483647,也就是:(1<<31)-1

 而0x7f7f7f=2139062143

原文地址:https://www.cnblogs.com/kimsimple/p/6661320.html