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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,147f221051e5a63d X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!postnews.google.com!n1g2000prb.googlegroups.com!not-for-mail From: "jhc0033@gmail.com" Newsgroups: comp.lang.ada Subject: Re: memory management in Ada: tedious without GC? Date: Sun, 18 May 2008 11:27:37 -0700 (PDT) Organization: http://groups.google.com Message-ID: <82e2924a-4888-4b45-a4de-f33f905334c2@n1g2000prb.googlegroups.com> References: <4ddef8bf-b5b1-4d7e-b75b-386cd6c8402c@l17g2000pri.googlegroups.com> <482E8A9D.5040401@obry.net> <8640a12f-da99-435f-8eb6-372e175cd5b9@z72g2000hsb.googlegroups.com> <482F19CE.7060306@obry.net> <87d4nkzhtn.fsf@willow.rfc1149.net> <2545491.n7xu0MFufK@linux1.krischik.com> <5209773.UsCT0IWhbo@linux1.krischik.com> NNTP-Posting-Host: 71.154.210.151 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1211135257 24881 127.0.0.1 (18 May 2008 18:27:37 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 18 May 2008 18:27:37 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: n1g2000prb.googlegroups.com; posting-host=71.154.210.151; posting-account=ZDEUcwoAAAAfEl68GET6fODebgE-CIe2 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:211 Date: 2008-05-18T11:27:37-07:00 List-Id: On May 18, 8:03 am, Martin Krischik wrote: > jhc0...@gmail.com wrote: > > Oh, panlinguistic guru, I'd like to see you try to implement "STL" in > > C! I wonder if you'll go for macros or void* type casts with type > > sizes as explicit parameters. How will you implement automatic memory > > management and deep copy semantics for arbitrary user-constructed type > > parameters? > > I start with: > > typeset struct Vector Vector; > > Vector* Create_Vector(int Element_Count, size_t Element_Size); Already, this can not do what "vector v(n)" does. > and take it from there. Won't have the same syntax - but the semantic is > doable. That's because you don't understand what RAII is, or how it interacts with "return" and exceptions.