C++中,结构,数组,类对象等初始化,一般情况下是需要初始化为零,初始化为零又有好几种情况,下面结合自己编程经验,浅谈一下。
1.memset函数是C库提供的,把某个对象初始化为某值,如:memset(this, 0, sizeof(this);
2.ZeroMemory函数是Windows平台提供的宏定义,但内部是调用memset,初始化为0;
3.{0x00}是 将成品变量初始化为0,若结构体有虚函数,{0x00}编译出错;ZeroMemory是将成员函数和成员变量初始化为0,若结构体有虚函数,则编译通过,运行期零指针出错。
本文介绍了C++中常用的几种初始化对象为零的方法,包括使用memset函数、ZeroMemory宏定义及直接赋值{0x00}

被折叠的 条评论
为什么被折叠?



