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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!newsfeed00.sul.t-online.de!t-online.de!tsicnews.teliasonera.com!news.otenet.gr!news.grnet.gr!newsfd02.forthnet.gr!not-for-mail From: Ioannis Vranos Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: [OT] Re: Teaching new tricks to an old dog (C++ -->Ada) Date: Fri, 11 Mar 2005 14:12:14 +0200 Organization: FORTHnet S.A., Atthidon 4, GR-17671 Kalithea, Greece, Tel: +30 2109559000, Fax: +30 2109559333, url: http://www.forthnet.gr Message-ID: <1110543138.32171@athnrd02> References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1lr611thktbau$.1dj95z21h7l5v.dlg@40tude.net> <97kpu5gkgo1r$.kc4nx7cxjziw$.dlg@40tude.net> NNTP-Posting-Host: athnrd02.forthnet.gr Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: athprx02.forthnet.gr 1110543138 7352 193.92.150.73 (11 Mar 2005 12:12:18 GMT) X-Complaints-To: abuse@forthnet.gr NNTP-Posting-Date: Fri, 11 Mar 2005 12:12:18 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en In-Reply-To: Cache-Post-Path: newsfd02!unknown@ppp16-adsl-170.ath.forthnet.gr Xref: g2news1.google.com comp.lang.ada:9124 comp.lang.c++:45116 comp.realtime:1267 comp.software-eng:4833 Date: 2005-03-11T14:12:14+02:00 List-Id: Dmitry A. Kazakov wrote: > Heap is far slower than stack. Also stack is much safer, because objects > allocated on the stack have visible scopes, as compared to adventures with > pointers. Do you want to add one more indirection layer - smart pointers, > or do it even worse by using GC? Regarding Storage_Error exception, C++'s one is bad_alloc, which is guaranteed to *never fail* in case of memory starvation. About stack. Strictly speaking, C++ standard does not define any stack apart from a stack container , but "automatic storage" and "dynamic storage". It is common though the first to be called "stack" and the second "heap" or "free store". It is an implementation's/platform's job to provide stack and heap. Usually the stack is limited in comparison to the heap, and it sounds strange to me that in Ada there is a large stack. My guess is that you are using the heap for data storage implicitly(?) and you think you are using the stack. Are you familiar with "Resource Acquisition is Initialisation" (RAII) technique? This is supported by C++ and used by all standard library containers. -- Ioannis Vranos http://www23.brinkster.com/noicys