fill()函数参数:fill(first,last,val);  // first 为容器的首迭代器,last为容器的末迭代器,val为将要替换的值。

如:要将数组a中的前100项的值赋值为1;

#include <iostream>

#include <algorithm>

#include <cstring>

using namespace std;

int main()

{

    int a[200];

    memset(a,0,sizeof(a));      //   初始化为0;

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

    {

        cout << a[i] << "   ";

    }

    fill(a,a+100,1);

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

    {

        cout << a[i] << "   ";

    }
return 0;

}

 

fill() 和  menset() 两者看似相等,但两者却有巨大的区别,在fill()中 ,它的原理是把那一块单元赋成指定的值,也就是说任何值都可以,而在memset(),则是s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,

 

附上memset()详细解析连接http://blog.csdn.net/xia842655187/article/details/47253563

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐