fill 的头文件是
命名空间是std;
用法:
eg:
#include
using namespace std;
int main()
{
char s[100];
fill(s,s+100,'a');
for(int i=0;i<100;i++)
cout<
cout<
system("pause");
}
它的原理是把那一块单元赋成指定的值,与memset不同,
memset是按字节填充的例如:
这个例子可以很好的区别memset和fill:
#include
using namespace std;
int main()
{
int d[100];
fill(d,d+100,1);
for(int i=0;i<100;i++)
cout<
<<" ";
cout<
memset(d,1,100*sizeof(int));
for(int i=0;i<100;i++)
cout<
<<" ";
cout<
system("pause");
}
运行结果如下:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009
所以不难看出memset int 单元为1 时相当于
(1<<24)+(1<<16)+(1<<8)+1 = 16843009;
c++ 中的fill 和memset
最新推荐文章于 2024-07-28 16:46:05 发布