1. 用malloc定义结构体指针,可能会造成内部指针变量变成野指针。
错误使用:TAlgBatchOutput *tOutputInfo = (TAlgBatchOutput *)malloc(sizeof(TAlgBatchOutput));
用malloc定义结构体指针,虽然申请了一段内存,但却没有调用结构体里的构造函数进行初始化操作,因此在释放结构体里的指针变量时会释放野指针。
正确使用:TAlgBatchOutput tOutputInfo; 或者 TAlgBatchOutput *tOutputInfo = new TAlgBatchOutput ;