The documentation for the Clear function states:
"Deletes all of the array elements without memory release."
So does that mean I will get memory leaks using this function? I am actually using CArrayDouble, derived from CArray.
Thank you.
If you look at the code for CArray's Clear() method, you see:
void Clear(void) { m_data_total=0; }
So, all the memory that had been allocated is still allocated; it simply resets the counter to 0.
Will you get memory leaks? Not if you delete your instance of the CArrayDouble you created. See the last line of the example code here:
https://www.mql5.com/en/docs/standardlibrary/datastructures/carray/carrayclear
Inside the CArrayDouble instance you create is a protected array called m_data[]. When you delete your instance of CArrayDouble and this array is released.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
The documentation for the Clear function states:
"Deletes all of the array elements without memory release."
So does that mean I will get memory leaks using this function? I am actually using CArrayDouble, derived from CArray.
Thank you.