本文主要是介绍c++ 中的fill 和memset,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!