From: tmb@arolla.idiap.ch (Thomas M. Breuel)
Subject: Re: Easily-Read C++?
Date: 21 Oct 1994 14:38:25 GMT
Date: 1994-10-21T14:38:25+00:00 [thread overview]
Message-ID: <TMB.94Oct21153826@arolla.idiap.ch> (raw)
In-Reply-To: a311581@ventures.NoSubdomain.NoDomain's message of Fri, 14 Oct 1994 21:13:06 GMT
In article <CxoLLu.Av3@uunet!aadt> a311581@ventures.NoSubdomain.NoDomain (Kevin Cline) writes:
|In article <EMERY.94Oct12165432@goldfinger.mitre.org>, emery@goldfinger.mitre.org (David Emery) writes:
||> The ambiguity 'inherent' in declarations such as
||> char * foo;
||> char ** foo;
||> char foo[];
||> char *foo[];
||> causes problems for C tools. Even though each of the above is
||> 'unambiguous', common usage means that any of these can be used to
||> represent the others. At least one tool I know of (an RPC generator
||> for C) requires the user to disambiguate some of the above
||> declarations, to make sure that the tool generates the right code.
||>
|These declarations are not equivalent. The first is equivalent to the third,
|and the second to the fourth.
|
|The equivalence of C pointers and arrays is unfortunate. It is maintained
|by C++ for backward compatibility reasons. Most C++ applications use
|a library template array class instead of C arrays.
None of those declarations are equivalent (if people want to criticize
C, they should at least have a basic understanding of it!).
Furthermore, the problem that RPC systems have with C is that arrays
and pointers do not carry bounds information with them. (Another
problem is that C pointers can point to heap data, into the middle of
other data structures, or to stack data.)
That is indeed a problem in some situations, but it is not related to
declaration syntax. On the other hand, real-world users will probably
not accept a language that doesn't provide some equivalent of C's
plain arrays: the overhead of carrying bounds information around at
runtime is sometimes unacceptable.
In C++, none of this is a problem: arrays usually carry bounds
information (static or dynamic) and can easily be serialized for RPC.
C-style arrays need only be used in very specific situations.
Thomas.
next prev parent reply other threads:[~1994-10-21 14:38 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3719k1$11gt@watnews1.watson.ibm.com>
[not found] ` <85C92963672@annwfn.com>
1994-10-11 18:37 ` Easily-Read C++? Norman H. Cohen
1994-10-12 16:54 ` David Emery
1994-10-14 21:13 ` Kevin Cline
1994-10-21 14:38 ` Thomas M. Breuel [this message]
1994-10-22 3:10 ` Michael M. Bishop
1994-10-26 0:39 ` -mlc-+Schilling J.
1994-10-27 14:54 ` Bob Duff
1994-10-27 15:35 ` Richard Kenner
1994-10-27 23:09 ` Robert Dewar
1994-11-01 21:19 ` Adam Beneschan
1994-11-02 0:46 ` Bob Duff
1994-10-14 10:50 Bob Wells #402
-- strict thread matches above, loose matches on Subject: below --
1994-10-12 3:06 Easily-Read C++ Ken Garlington
1994-10-05 3:00 Easily-Read C++? Ken Garlington
1994-10-05 9:42 ` Pierre Castori
1994-10-05 13:28 ` Robert Dewar
1994-10-06 2:20 ` Benjamin Ketcham
[not found] ` <CxDL8H.KGE@csn.org>
[not found] ` <milodCxH2E4.7F4@netcom.com>
[not found] ` <CxHJv0.Kw0@csn.org>
1994-10-12 17:03 ` John DiCamillo
1994-10-05 14:26 ` Eric S. Sessoms
1994-10-05 17:47 ` Kevin Cline
1994-10-05 22:02 ` Robert Dewar
1994-10-05 22:23 ` Richard Kenner
[not found] ` <124377@cup.portal.com>
1994-10-11 18:11 ` David Weller
1994-10-11 18:43 ` Robert Dewar
1994-10-12 13:15 ` Norman H. Cohen
1994-10-12 14:10 ` Robert Firth
1994-10-13 19:33 ` John D. Reading
1994-10-13 0:51 ` Keith Thompson @pulsar
1994-10-05 18:24 ` Magnus Kempe
[not found] ` <EACHUS.94Oct6101347@spectre.mitre.org>
[not found] ` <371a3p$nos@gnat.cs.nyu.edu>
[not found] ` <1994Oct7.153254.29848@swlvx2.msd.ray.com>
[not found] ` <374uke$8mo@delphi.cs.ucla.edu>
[not found] ` <37bno4$ko4@gnat.cs.nyu.edu>
1994-10-11 13:00 ` Robert Firth
1994-10-11 13:44 ` Casper H.S. Dik
1994-10-11 19:03 ` Robert Dewar
1994-10-12 16:38 ` John DiCamillo
1994-10-11 18:52 ` Robert Dewar
1994-10-12 13:49 ` Norman H. Cohen
[not found] ` <37eej8$6ie@siberia.gatech.edu>
1994-10-11 18:55 ` Robert Dewar
1994-10-12 13:35 ` John M. Mills
1994-10-12 19:48 ` Robert Dewar
[not found] ` <CxFr5B.K1G@news.otago.ac.nz>
[not found] ` <DAG.94Oct10075533@bellman.control.lth.se>
1994-10-11 17:50 ` Norman H. Cohen
[not found] ` <373vd2$39n@theopolis.orl.mmc.com>
[not found] ` <CxBvq7.GrH@inmet.camb.inmet.com>
[not found] ` <37bnic$kj2@gnat.cs.nyu.edu>
1994-10-11 18:02 ` Norman H. Cohen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox