From: Ole-Hjalmar Kristensen <ohk@clustra.com>
Subject: Re: Ada Idioms Progress Preview
Date: 14 Aug 2001 09:37:32 +0200
Date: 2001-08-14T09:37:32+02:00 [thread overview]
Message-ID: <umq1ymf5byb.fsf@maestro.clustra.com> (raw)
In-Reply-To: zVXd7.109$2u.23585@www.newsranger.com
Ted Dennison<dennison@telepath.com> writes:
> In article <umqr8ug55d9.fsf@maestro.clustra.com>, Ole-Hjalmar Kristensen says...
> >One thing which can be said in favour of having a terminator character
> >is that it frees you from having to store the length explicitly. The
> >length of a string is usually different from the size of the array
> >used to store the string.
>
> It frees you from that problem in *some* cases. I find that most of the time I
> don't change the string, so I can declare it perfectly sized. When you do that,
> you are not storing the length explicitly, but rather implicitly in the array
> bounds. As others have mentioned, you also don't have to iterate through every
> valid data element to derive this piece of implicit information like you do with
> C. Thus perfectly-sized Ada strings give you the best of both worlds.
>
But you usually don't need to know the length of the string, precisely
because it has a sentinel value at the end :-)
Perfectly-sized C string are no problems either:
char x[] = "a perfect string";
I was thinking of the case where you cannot statically allocate a
perfectly sized string, which pops up whenever you have to get
variable sized strings from somewhere, as you describe below.
Btw., I'm not saying that C strings are superior in general or trying
to start a war, just that there are cases when using a sentinel value
makes sense.
> Unfortunately, the most notable exception to this is in reading data from
> Text_IO, which is also one of the first things a newbie will want to do with Ada
> strings. :-(
>
> ---
> T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html
> home email - mailto:dennison@telepath.com
--
Kabelsalat ist gesund.
Ole-Hj. Kristensen
next prev parent reply other threads:[~2001-08-14 7:37 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-03 4:16 Ada Idioms Progress Preview James Rogers
2001-08-03 19:45 ` Robert Dewar
2001-08-03 22:02 ` James Rogers
2001-08-06 22:33 ` Stanley R. Allen
2001-08-07 2:45 ` tmoran
2001-08-07 12:15 ` Larry Kilgallen
2001-08-07 13:26 ` Philip Anderson
2001-08-08 2:23 ` Robert Dewar
2001-08-08 5:58 ` Ehud Lamm
2001-08-08 2:19 ` Robert Dewar
2001-08-08 15:13 ` Ted Dennison
2001-08-08 18:03 ` tmoran
2001-08-09 20:36 ` Florian Weimer
2001-08-10 21:02 ` Jay Nabonne
2001-08-10 21:51 ` Larry Kilgallen
2001-08-13 14:19 ` Ted Dennison
2001-08-13 14:05 ` Ted Dennison
2001-08-13 14:19 ` Marin David Condic
2001-08-13 15:47 ` Ole-Hjalmar Kristensen
2001-08-13 16:22 ` Marin David Condic
2001-08-13 18:48 ` Larry Kilgallen
2001-08-14 7:05 ` Ole-Hjalmar Kristensen
2001-08-13 20:20 ` James Rogers
2001-08-14 1:09 ` Warren W. Gay VE3WWG
2001-08-14 6:15 ` James Rogers
2001-08-14 14:03 ` Warren W. Gay VE3WWG
2001-08-21 5:54 ` C strings, was " David Thompson
2001-08-16 18:42 ` Jay Nabonne
2001-08-17 1:25 ` Robert Dewar
2001-08-13 21:47 ` Ted Dennison
2001-08-14 7:37 ` Ole-Hjalmar Kristensen [this message]
2001-08-14 14:59 ` Ted Dennison
2001-08-14 13:22 ` Marin David Condic
2001-08-14 15:12 ` Ted Dennison
2001-08-14 15:33 ` Marin David Condic
2001-08-14 8:49 ` Lutz Donnerhacke
2001-08-14 9:38 ` Ole-Hjalmar Kristensen
2001-08-14 9:54 ` Lutz Donnerhacke
2001-08-14 14:51 ` James Rogers
2001-08-14 16:44 ` Darren New
2001-08-14 1:39 ` Slicing ( Ada Idioms Progress Preview ) Warren W. Gay VE3WWG
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox