编程有强迫症怎么办?

 

系统提示有对象没释放内存,找了很久也没找出来是哪里没释放,要是编译器能告诉我在在哪里创建的对象没释放就完美了,就差一个对象,硬是找不到,哎。。。

--------- 分割线

关于 ArrayFree

TSOModel   *OModels[]; 定义对象数组

ArrayFree(OModels);  释放对象数组 (但发现这样不能完全释放对象,会提示内存未被释放,是啥情况)



 
Jiayou Hu:

系统提示有对象没释放内存,找了很久也没找出来是哪里没释放,要是编译器能告诉我在在哪里创建的对象没释放就完美了,就差一个对象,硬是找不到,哎。。。

--------- 分割线

关于 ArrayFree

TSOModel   *OModels[]; 定义对象数组

ArrayFree(OModels);  释放对象数组 (但发现这样不能完全释放对象,会提示内存未被释放,是啥情况)



mt4还是mt5 ,难道发现了bugs

 
Tiecheng Fu:

mt4还是mt5 ,难道发现了bugs


MT5,(已解决)这不是BUG,只是一部分内存没有被释放,不影响使用,只是我有强迫症,不能容忍系统给这样的提示

 

内存泄漏,基本上都是new出来的对象没有delete导致

    class TSOModel{};    
    
    TSOModel *OModels[3];  
    
    for(int i=0;i<3;i++)
      {
         OModels[i] = new TSOModel();
      }
      
   //...   
   int total = ArraySize(OModels);
   for(int i=0; i<total; i++)
   {
      delete OModels[i];
   }    
原因: