又是柳神的博客memset函数按照字节填充某字符在头文件cstring里面只能初始化0 -1 0x3f3f3f3ffill函数按照单元赋值将一个区间的元素都赋同一个值在头文件algorithm里面因为memset函数按照字节填充所以一般memset只能用来填充char型数组因为只有char型占一个字节如果填充int型数组除了0和-1其他的不能。因为只有00000000 0-1同理如果我们把每一位都填充“1”会导致变成填充入“11111111”而fill函数可以赋值任何而且使用方法特别简便例如int数组fill(arr, arr n, 要填入的内容);#include cstdio #include algorithm using namespace std; int main() { int arr[10]; fill(arr, arr 10, 2); return 0; }vector也可以fill(v.begin(), v.end(), 要填入的内容);#include iostream #include algorithm #include vector using namespace std; int main() { vectorint v{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; fill(v.begin(), v.end(), -1); return 0; }而memset的使用方法是#include iostream #include cstring using namespace std; int main(){ int a[20]; memset(a, 0, sizeof a); return 0; }