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!proxad.net!teaser.fr!news.wanadoo.fr!news.wanadoo.fr!not-for-mail Sender: obry@PASCAL 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> From: Pascal Obry Date: 09 Mar 2005 09:52:13 +0100 Message-ID: Organization: Home - http://www.obry.net User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Date: 09 Mar 2005 09:52:15 CET NNTP-Posting-Host: 82.120.30.69 X-Trace: 1110358335 news.wanadoo.fr 3136 82.120.30.69:3343 X-Complaints-To: abuse@wanadoo.fr Xref: g2news1.google.com comp.lang.ada:8912 comp.lang.c++:44719 comp.realtime:1104 comp.software-eng:4664 Date: 2005-03-09T09:52:15+01:00 List-Id: Ioannis Vranos writes: > Pascal, this looks like Pascal. Agreed. > The C++ equivalent: > > > #include > > // ... > > > using namespace std; > > vector Data(10); > > for(vector::size_type i=0; i { > if (Data[i]== 1) And no C++ compiler will check that Data[i] is valid. That's the point. If you add the check explicitly no C++ compiler will be able to remove it. In the Ada case the compiler knows lot more about the program and can decide to remove the check if it knows that the index will never be outside the object range. This is always the case for: for K in Data'Range loop ... Data(k)... Pascal. -- --|------------------------------------------------------ --| Pascal Obry Team-Ada Member --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE --|------------------------------------------------------ --| http://www.obry.org --| "The best way to travel is by means of imagination" --| --| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595