平时在new一个内置类型或者自定义类型变量时,会涉及到初始化变量的问题。经常遇到的类型是char*和struct定义的结构体。以前都选择memset()函数来进行内存清零。和memset差不多的方法有struct a = {0}、STRUCT *pStruct = new STRUCT(0)。也可以在结构体内写构造函数,对成员进行初始化。从效率上来说,memset快于构造函数,因为前者是段地址直接copy数据,而后者需要两次move指令获取内存间接地址。
c++中,new一个结构体时,对其初始化方法
最新推荐文章于 2024-08-15 07:58:21 发布