On May 18, 6:43 pm, "Nasser Abbasi" <n...@12000.org> wrote: > <krindikzulm...@gmail.com> wrote in message > > news:firstname.lastname@example.org... > > > Do we have to do explicit memory cleanup in matlab > > No. See below > > http://www.mathworks.com/company/newsletters/digest/2008/sept/matlab-... > > "Object Life-Cycle Management > MATLAB implements a strategy for object life-cycle management that supports > destructors and destroys objects as soon as they become unreachable from any > MATLAB workspace. The MATLAB language has always managed memory allocation > by destroying workspace variables when a function exits, either through an > error or through a normal return to the calling context. We wanted to > preserve this simple model but also extend it to handle objects that might > persist beyond the execution of a function (by being returned to a calling > function or stored in some other object returned to a calling function). > A MATLAB handle class can define a delete method that behaves very much like > a destructor in languages like C++ (Figures 3a and 3b). In MATLAB, a delete > method is called just before an object is destroyed because the object can > no longer be accessed from any MATLAB variable. The delete method can be > used to close a file, close an external application, or notify another > object that needs to react to the destruction of the first object. It is > defined by the handle class, and only handle classes have destructors in > MATLAB. " > > "Some programmers might find it strange that non-handle objects have no > destructors. Since MATLAB object destruction is always automated, a > non-handle object that holds other objects does not need to do anything to > destroy those other objects." > > --Nasser
Thanks. But I saw the above mentioned code from an experienced matlab pro
Even mathworks says below "a non-handle object that holds other objects does not need to do anything to destroy those other objects"
does this imply handle objects do have to clean objects inside them explicitly?