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!news4.google.com!news.glorb.com!fr.ip.ndsoftware.net!newsfeed.freenet.de!151.189.20.20.MISMATCH!newsfeed.arcor.de!news.arcor.de!not-for-mail Date: Thu, 24 Mar 2005 03:19:12 +0100 From: Georg Bauhaus Organization: future apps GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050105 Debian/1.7.5-1 X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) 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> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1110329098.642196@athnrd02> <1110361741.551255@athnrd02> <422edaec$0$26554$9b4e6d93@newsread4.arcor-online.net> <1111464133.508323@athnrd02> <423fe9df$0$11476$9b4e6d93@newsread2.arcor-online.net> <1111521825.653841@athnrd02> <424094b0$0$11481$9b4e6d93@newsread2.arcor-online.net> <1111568404.687226@athnrd02> <42416659$0$11476$9b4e6d93@newsread2.arcor-online.net> <1111611226.253249@athnrd02> <4241f47a$0$24073$9b4e6d93@newsread4.arcor-online.net> <1111627358.387482@athnrd02> In-Reply-To: <1111627358.387482@athnrd02> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <424222df$0$24057$9b4e6d93@newsread4.arcor-online.net> NNTP-Posting-Date: 24 Mar 2005 03:15:59 MET NNTP-Posting-Host: 1333e526.newsread4.arcor-online.net X-Trace: DXC=k64coBdI:=P9Ihe`Bh@Z?dZ]MOide X-Complaints-To: abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:9866 comp.lang.c++:46966 comp.realtime:1656 comp.software-eng:5260 Date: 2005-03-24T03:15:59+01:00 List-Id: Ioannis Vranos wrote: > Georg Bauhaus wrote: >> >> struct Test { // compare random access to keyed access >> >> for (int run = 0; run < R; ++run) >> t.arrays(); > I am not sure what you mean with the above, perhaps to use the > facilities of to measure their performance? Of course vector is > faster than map. You say "of course" now? I don't really understand then why you asked me why my Ada _array_ code is faster than your C++ std::_map_ code. >> C# does provide fixing arrays. > > > > You mean it can use signed indices? Not at all. I mean that C# arrays can be dynamic or fixed size. They always start at 0, IIRC. >Look, just to be technically > accurate, C++ can also use negative indices, Actually, there is no negative index in your example. There are some offset computations, resulting in index values no less than 0. By the same argument I could say that a 10-element C-array can be indexed by the number 100000 by first decrementing the pointer and then adding 100000 as an offset. But you do not get the element number 100000, because there is no such element. Index types are conceptually different from offsets from the first element. As a clever trick, this is nice though. I like the power of assembly think. > vector::iterator pi= vec.begin()+4; > > // Makes vec[2]== 4. > pi[-2]= 4; >> OK. And lets see what happens when the C99 arrays will be adopted. > > > Do you mean C99's built in Variable Length Arrays (VLAs)? I do not think > they will be adopted in C++. Let's see. Georg