From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a5bde054ac3effc5 X-Google-Attributes: gid103376,public From: mcc@entropy.cs.princeton.edu (Martin C. Carlisle) Subject: Re: Unbounded string deallocation Date: 1999/08/26 Message-ID: <7q3iao$amr$1@cnn.Princeton.EDU>#1/1 X-Deja-AN: 517461863 References: <37C46FD4.A42CC1A1@res.raytheon.com> <7q1tff$1n9$1@cnn.Princeton.EDU> <37C54509.17E067C1@res.raytheon.com> Organization: US Air Force Academy, Dept of Computer Science Newsgroups: comp.lang.ada Date: 1999-08-26T00:00:00+00:00 List-Id: As Pascal pointed out, you are absolutely correct. A reassignment will reclaim the previous storage. A common implementation of Unbounded_Strings is to use Controlled types. Using controlled types you can create a lot of such data structures that manage their own memory. --Martin In article <37C54509.17E067C1@res.raytheon.com>, Andy Askey wrote: >Martin, >Thanx for the info. My unbound string never goes out of scope until I >terminate my program (which is why I "thought" needed to deallocate it >myself). If all I have to do to reclaim the memory is to create a new >string using the same variable, then this takes care of all my >problems. Just to make sure I understand this correctly: > >my_string : ada.strings.unbounded_string; >begin > > -- grab approx 1024 bytes of memory > my_string := new ada.strings.unbounded_string.To_Unbound_String(1024); > > -- give back the 1024 bytes and grab 2048 new memory bytes > my_string := new ada.strings.unbounded_string.To_Unbound_String(2048); > >end -- Martin C. Carlisle, Asst Prof of Computer Science, US Air Force Academy carlislem@acm.org, http://www.usafa.af.mil/dfcs/bios/carlisle.html DISCLAIMER: This content in no way reflects the opinions, standards or policy of the US Air Force Academy or the United States Government.