From: Keith Thompson <Keith.S.Thompson+u@gmail.com>
Subject: Re: Beginning Ada Programming, by Andrew T. Shvets (2020)
Date: Sat, 18 Apr 2020 19:23:19 -0700
Date: 2020-04-18T19:23:19-07:00 [thread overview]
Message-ID: <87y2qsdxig.fsf@nosuchdomain.example.com> (raw)
In-Reply-To: r7fubh$1op7$1@gioia.aioe.org
"Luke A. Guest" <laguest@archeia.com> writes:
> On 18/04/2020 22:54, cantanima.perry@gmail.com wrote:
>> On Saturday, April 18, 2020 at 12:59:38 PM UTC-5, Jere wrote:
>>> Actually it does work on low level arrays in C++. It doesn't work
>>> on pointers to array elements however, which people often confuse
>>> with arrays (that's how people most often pass them to functions,
>>> but there are other methods).
>>
>> I didn't realize C++ had progressed to tracking how long a low-level
>> array is, but in retrospect it's come along so much in terms of what
>> you can do at compile-time that I should have tested before
>> commenting. Thank you.
Both C and C++ have always tracked how long a low-level array is.
There's no built-in operator that gives you the number of element
in an array, but "sizeof arr / sizeof arr[0]" is a common idiom.
Except for VLAs (variable-length arrays, supported in C99, optional
in C11, not supported in C++), the number of elements in an array
always a compile-time constant.
What neither language can do is determine the length of an array
given a pointer to its initial element, which is how raw arrays are
usually manipulated in C and low-level C++. (Not to be confused
with std::array, which is a C++ container class added in C++11.)
> I don't think it can, I think the new iterator for loops are for stl
> containers only. I could be wrong though.
You can iterate over a C++ array if you have visibility to the array
object itself.
Very often you don't have that visibility. Which is why C++ has
std::vector, std::array, et al.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
next prev parent reply other threads:[~2020-04-19 2:23 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-03 4:05 Beginning Ada Programming, by Andrew T. Shvets (2020) Paul Rubin
2019-12-03 12:11 ` AdaMagica
2019-12-03 12:33 ` Lucretia
2019-12-03 13:21 ` J-P. Rosen
2019-12-03 13:57 ` Lucretia
2019-12-03 14:04 ` AdaMagica
2019-12-03 14:15 ` AdaMagica
2019-12-03 14:39 ` Simon Wright
2019-12-03 14:45 ` Shark8
2019-12-03 17:38 ` J-P. Rosen
2019-12-03 15:04 ` Lucretia
2019-12-03 15:29 ` Optikos
2019-12-03 16:06 ` Lucretia
2019-12-03 16:26 ` Optikos
2019-12-03 16:50 ` Lucretia
2019-12-03 17:02 ` Shark8
2019-12-03 17:29 ` AdaMagica
2019-12-05 16:35 ` Dirk Heinrichs
2019-12-05 17:12 ` AdaMagica
2019-12-09 19:08 ` Dirk Heinrichs
2019-12-06 18:34 ` Shark8
2019-12-06 20:29 ` Jeffrey R. Carter
2019-12-06 21:05 ` Shark8
2019-12-07 0:47 ` Randy Brukardt
2019-12-14 4:21 ` Keith Thompson
2019-12-14 11:34 ` AdaMagica
2019-12-03 17:39 ` Optikos
2019-12-03 19:12 ` Paul Rubin
2019-12-14 4:34 ` Paul Rubin
2020-04-17 5:14 ` Andrew Shvets
2020-04-17 6:17 ` Teaching Ada types J-P. Rosen
2020-04-29 13:07 ` Mehdi Saada
2020-04-29 21:25 ` Paul Rubin
2020-04-17 4:27 ` Beginning Ada Programming, by Andrew T. Shvets (2020) Andrew Shvets
2020-04-17 12:44 ` Ludovic Brenta
2020-04-17 13:07 ` Jere
2020-04-17 14:31 ` Optikos
2019-12-03 20:40 ` Björn Lundin
2020-04-17 4:16 ` Andrew Shvets
2020-04-17 4:11 ` Andrew Shvets
2020-04-17 15:32 ` Luke A. Guest
2020-04-17 4:10 ` Andrew Shvets
2020-04-17 5:02 ` Andrew Shvets
2020-04-17 4:08 ` Andrew Shvets
2019-12-03 19:14 ` Paul Rubin
2019-12-04 6:47 ` J-P. Rosen
2019-12-04 6:49 ` J-P. Rosen
2019-12-04 9:46 ` Paul Rubin
2020-04-17 4:07 ` Andrew Shvets
2020-04-17 5:49 ` J-P. Rosen
2020-04-17 17:59 ` AdaMagica
2020-04-17 19:28 ` Optikos
2020-04-18 15:29 ` AdaMagica
2020-04-18 16:34 ` cantanima.perry
2020-04-18 17:59 ` Jere
2020-04-18 21:54 ` cantanima.perry
2020-04-18 22:18 ` Luke A. Guest
2020-04-18 22:33 ` Jere
2020-04-19 0:52 ` Jere
2020-04-19 2:23 ` Keith Thompson [this message]
2020-04-18 22:37 ` Jere
2020-04-19 0:42 ` Paul Rubin
2020-05-02 19:13 ` dave_thompson_2
2020-04-23 18:43 ` Andrew Shvets
2020-04-23 21:07 ` Paul Rubin
2020-04-23 21:33 ` Optikos
2020-04-23 21:42 ` Paul Rubin
2020-04-24 14:42 ` Optikos
2020-04-24 15:35 ` Dennis Lee Bieber
2020-04-30 8:01 ` Paul Rubin
2020-04-23 18:45 ` Andrew Shvets
2020-11-02 21:14 ` Norman Worth
2020-04-17 4:04 ` Andrew Shvets
2019-12-10 5:17 ` Jerry
2020-04-17 3:58 ` Andrew Shvets
2020-05-09 12:39 ` Chris Collings
2020-10-03 4:23 ` andrew...@gmail.com
2020-10-28 19:21 ` sany...@gmail.com
2020-11-11 1:41 ` Azathoth Hastur
2020-11-12 21:24 ` Shark8
2020-11-12 22:31 ` Chris Townley
2020-11-17 20:48 ` azathot...@gmail.com
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox