关于memset的初始化
1. memset是以字节为单位,初始化内存块。
int data[10]
比如memset(data,0,4*10==sizeof(data));
2.memset对于char类型的数组可以将其初始化为任意一个单字符
char data[10]
比如memset(data,'0' / 'a' / '~' ,10==sizeof(data));
3.memset对于int类型的数组只能将其初始化为0或-1
int data[10]
比如memset(data,0,4*10==sizeof(data)); right
memset(data,-1,4*10==sizeof(data)); right
memset(data,0,4*10==sizeof(data)); wrong,data[x] would be 0x0101 instead of 1
4.当结构体类型中包含指针时,在使用memset初始化时需要小心。
5. 当结构体或类的本身或其基类中存在虚函数时,也需要谨慎使用memset。
参考博客: