The Math Forum

Search All of the Math Forum:

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

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

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: 6,677
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

<> wrote in message
> Do we have to do explicit memory cleanup in matlab

No. See below

"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

"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."


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

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.