Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Les Cargill <lcargill99@comcast.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Array sizes and const |
| Date | 2012-06-08 06:45 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <jqsogf$qpb$1@dont-email.me> (permalink) |
| References | <jqdtou$koe$1@dont-email.me> <kfnvcj2gogq.fsf@x-alumni2.alumni.caltech.edu> |
Tim Rentsch wrote: > Les Cargill <lcargill99@comcast.com> writes: > >> I am using Mingw 3.4.5 on a 'Doze box, but it pretty much >> follows any Gnu compiler I've run into. >> >> Why is this: >> >> --------------------------- >> #define SIZE 20 >> const int size = SIZE; >> char array[SIZE]; >> --------------------------- >> >> legal, yet >> >> --------------------------- >> #define SIZE 20 >> const int size = SIZE; >> char array[size]; >> --------------------------- >> >> not? >> >> The int size is invariant, and ... "morally" >> equivalent to using SIZE, yet it won't let me do that. >> >> And yes, I understand/speak/grok preprocessor vs. >> compiler. I know *how*, I just wonder *why*. Is >> this a practical, strategic or tactical thing, >> or am I just being silly? Was it a conscious decision >> of the committee, or just one of those things? > > I would like to offer some contrasting opinions to those of > Ian Collins (and no disrepect intended, I just have some > different views to suggest). > > At the time C was first standardized, I don't think any C > implementations had this capability. (I was working > actively in C++ during this time, and I don't remember C++ > having it either.) Whether it was considered or not, the > committee chose to be cautiously conservative and not > include such a rule in the Standard, and IMO that was an > apppropriate policy at that time. > > Subsequently, I suspect it wasn't added for some combination > of (a) no one proposing/championing it, (b) little or no > experience with C implementations that offer it, and / or > (c) no perception of any significant demand. > > Personally I would tend to side with those in category (c). > As language features go this one doesn't offer very much. It really doesn't offer much. The only reason I asked is because there's been a gradual movement away from K&R to .... something else. > I know a lot of people don't like the C preprocessor, I am not one of them. In lots of cases, I *prefer* it. Attempts to eliminate the preprocessor are generally somewhat/somehow worse than what they replace. > but > except for that I don't see any significant benefit from > providing this capability. Why complicate the language > definition needlessly? > The only "why" is that you now have two thingies - one's a macro, one's a const object, and they have slightly different semantics, despite me wanting them to be the same thing :) It's by no means a huge problem. > Incidentally, note that the Standard actually does allow > implementations to accept the example code without > complaint, under paragraph 10 of the section on Constant > Expressions. (Some other people who post in c.l.c don't > agree with this conclusion; note however that gcc's > behavior, to give one example, agrees with my assessment.) > Despite having the freedom to accept this construct, I'm not > aware of any implementations (of C) that do. That probably > means there haven't been a lot of people clamoring for it. > -- Les Cargill
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-02 15:43 -0500
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-03 08:56 +1200
Re: Array sizes and const Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-06-02 16:59 -0400
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-02 16:35 -0500
Re: Array sizes and const jgk@panix.com (Joe keane) - 2012-06-08 20:05 +0000
Re: Array sizes and const jgk@panix.com (Joe keane) - 2012-06-09 21:36 +0000
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-02 16:43 -0500
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-02 14:59 -0700
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-02 17:12 -0500
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-02 18:27 -0700
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-02 22:27 -0500
Re: Array sizes and const "BartC" <bc@freeuk.com> - 2012-06-03 11:24 +0100
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-03 13:51 -0700
Re: Array sizes and const "BartC" <bc@freeuk.com> - 2012-06-04 12:20 +0100
Re: Array sizes and const Jens Gustedt <jens.gustedt@loria.fr> - 2012-06-04 13:54 +0200
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-04 14:32 -0700
Re: Array sizes and const Nobody <nobody@nowhere.com> - 2012-06-02 23:50 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-03 10:53 +1200
Re: Array sizes and const Nobody <nobody@nowhere.com> - 2012-06-03 14:35 +0100
Re: Array sizes and const James Kuyper <jameskuyper@verizon.net> - 2012-06-02 21:11 -0400
Re: Array sizes and const Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-03 07:39 -0700
Re: Array sizes and const James Kuyper <jameskuyper@verizon.net> - 2012-06-03 16:03 -0400
Re: Array sizes and const Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-06-03 21:49 +0100
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-03 14:49 -0700
Re: Array sizes and const Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-03 15:02 -0700
Re: Array sizes and const Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-06-04 01:21 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 09:08 +1200
Re: Array sizes and const Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-03 15:08 -0700
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 10:37 +1200
Re: Array sizes and const "BartC" <bc@freeuk.com> - 2012-06-03 23:47 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 10:55 +1200
Re: Array sizes and const Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-03 16:04 -0700
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 11:14 +1200
Re: Array sizes and const "BartC" <bc@freeuk.com> - 2012-06-04 00:23 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 11:30 +1200
Re: Array sizes and const "BartC" <bc@freeuk.com> - 2012-06-04 00:52 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 12:04 +1200
Re: Array sizes and const Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-06-04 01:39 +0100
Re: Array sizes and const Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-04 02:35 -0700
Re: Array sizes and const Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-06-04 01:33 +0100
Re: Array sizes and const Ian Collins <ian-news@hotmail.com> - 2012-06-04 12:35 +1200
Re: Array sizes and const pacman@kosh.dhis.org (Alan Curry) - 2012-06-04 21:28 +0000
Re: Array sizes and const James Kuyper <jameskuyper@verizon.net> - 2012-06-04 12:08 -0400
Re: Array sizes and const jgk@panix.com (Joe keane) - 2012-06-04 22:49 +0000
Re: Array sizes and const David Brown <david.brown@hesbynett.no> - 2012-06-03 15:46 -0500
Re: Array sizes and const Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-08 02:08 -0700
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-08 06:45 -0500
Re: Array sizes and const Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-08 10:49 -0700
Re: Array sizes and const Les Cargill <lcargill99@comcast.com> - 2012-06-08 18:05 -0500
Re: Array sizes and const Keith Thompson <kst-u@mib.org> - 2012-06-08 13:31 -0700
Re: Array sizes and const Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-08 20:30 -0700
csiph-web