Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: OO matlab - deleting objects
Replies: 6   Last Post: Feb 27, 2013 5:20 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Nasser Abbasi

Posts: 5,646
Registered: 2/7/05
Re: OO matlab - deleting objects
Posted: May 18, 2009 4:43 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply


<krindikzulmann@gmail.com> wrote in message
news:0beda853-2849-4199-9986-2543f502f482@d7g2000prl.googlegroups.com...
> Do we have to do explicit memory cleanup in matlab
>


No. See below

http://www.mathworks.com/company/newsletters/digest/2008/sept/matlab-objects.html

"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





Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.