comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: attempt to save memory
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: attempt to save memory [message #19665] Thu, 06 April 2000 00:00
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
eeeyler@my-deja.com (eeeyler@my-deja.com) writes:

> Suppose I have a procedure that creates a large string array
> (for example, [150,60000] elements).
> The next step in that procedure is to make another array that is a
> subset of the afore mentioned array. To do this, I pass the large array
> into another procedure as a parameter, the procedure creates the second
> array and passes the resulting array back up to the calling procedure.
>
> My concern is this. I believe a child procedure makes a copy of the
> parameters passed to it from the parent. If that is true, I now have
> two copies of the original array in memory, and at the end of the child
> procedure, I have the resulting array as well.

Not true, unless the input array is being passed as a subscripted
variable, structure dereference, or expression, all of which are
passed by "value", meaning that a copy is made. But if the input
array is a variable, it is being passed by "reference". This means
no copy is made and you are working on the data itself.

I think you are fine.

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: pointer to structures
Next Topic: attempt to save memory

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 07:08:38 PDT 2025

Total time taken to generate the page: 0.08260 seconds