memset()
memset是对按照字节来填充的,所以一般用来填充char型数组。
也经常用于填充 int 型的全0或全-1操作,也可以用于填充 INF = 0x3f3f3f3f
例:
const int INF = 0x3f3f3f3f;
int a[100];
……
……
memset(a, 0, sizeof(a));
memset(a, INF, sizeof(a));
……
……
fill()
fill()函数按照单元赋值,将一个区间的元素都赋同一个值。
格式 fill(arr, arr + n, 要填入的内容);
例:
int a[100];
vector<int> arr{0, 1, 2, 3, 4, 5};
……
……
fill(arr, arr + 10, 4341);
fill(arr.begin(), arr.end(), 64098);
……
……
相同点
两者都可以用来对数组填充
不同点
memset是对按照字节来填充的,而fill按照单元赋值。
memset不能赋值任意的值,而fill可以。