Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Walter Banks <walter@bytecraft.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: const or constant? |
| Date | 2014-04-22 18:00 -0400 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <5356E66B.8A504EA0@bytecraft.com> (permalink) |
| References | <lj6729$a10$1@speranza.aioe.org> |
jacob navia wrote: > After reading some of the contrbutions to the "constant strings" thread, > I think that what is needed is a clarification of the underlying issues. > > There are TWO "uses" of const: > > 1) Declaring that a function will not modify its arguments > 2) Declaring that an object resides in ROM (read only memory) > > The first one is tied to a *scope*. It says that within a certain scope, > no modifications are done to some object. I would propose that we name > this property "constant" and we would declare: > > char *strchr(constant char *buffer, int searchedChar); > > This means: "The strchr functions receives a buffeer that will NOT be > modified within the scope of the function". This implies that inner > scopes are required to maintain this feature. It means also that when we > exitthe scope where this "constant" declaration is done, the object > becomes writable again. Hence it is normal that strchr returns a *plain* > char pointer. "constant" objects can't be returned as constant. > > The second meaning of const is the usual one and it is tied to an > *object* not a scope. It means that the object can't be modified at > *any* scope, it is an intrinsic property of the object. > > In my opinion many problems with "const" would disappear if we > distinguish between these two usages of const. > > Feedback welcome. I essentially agree with you on this. It has been a big problem in embedded systems where you want to designate that some data resides in ROM. The second embedded system issue is it is possible to have volatile ROM space where the contents is not known at compile time but is fixed at run time. An example of this is system calibration constants programmed in ROM or serial numbers. w..
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
const or constant? jacob navia <jacob@spamsink.net> - 2014-04-22 18:58 +0200
Re: const or constant? "Bill Cunningham" <nospam@nspam.invalid> - 2014-04-22 14:13 -0400
Re: const or constant? Barry Schwarz <schwarzb@dqel.com> - 2014-04-22 15:59 -0700
Re: const or constant? jt@toerring.de (Jens Thoms Toerring) - 2014-04-22 21:26 +0000
Re: const or constant? James Kuyper <jameskuyper@verizon.net> - 2014-04-22 17:56 -0400
Re: const or constant? Keith Thompson <kst-u@mib.org> - 2014-04-22 15:32 -0700
Re: const or constant? James Kuyper <jameskuyper@verizon.net> - 2014-04-23 08:57 -0400
Re: const or constant? David Brown <david.brown@hesbynett.no> - 2014-04-23 15:27 +0200
Re: const or constant? Keith Thompson <kst-u@mib.org> - 2014-04-23 08:34 -0700
Re: const or constant? David Brown <david.brown@hesbynett.no> - 2014-04-24 08:50 +0200
Re: const or constant? James Kuyper <jameskuyper@verizon.net> - 2014-04-24 07:58 -0400
Re: const or constant? David Brown <david.brown@hesbynett.no> - 2014-04-24 14:19 +0200
Re: const or constant? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-04-24 21:40 +0000
Re: const or constant? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-04-25 01:05 -0700
Re: const or constant? "BartC" <bc@freeuk.com> - 2014-04-23 21:38 +0100
Re: const or constant? jacob navia <jacob@spamsink.net> - 2014-04-23 00:51 +0200
Re: const or constant? jacob navia <jacob@spamsink.net> - 2014-04-23 00:47 +0200
Re: const or constant? Walter Banks <walter@bytecraft.com> - 2014-04-22 18:00 -0400
Re: const or constant? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-04-22 23:12 +0100
Re: const or constant? jacob navia <jacob@spamsink.net> - 2014-04-23 01:00 +0200
Re: const or constant? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-04-23 14:48 +0100
Re: const or constant? Keith Thompson <kst-u@mib.org> - 2014-04-23 08:40 -0700
Re: const or constant? jacob navia <jacob@spamsink.net> - 2014-04-23 21:49 +0200
Re: const or constant? Kaz Kylheku <kaz@kylheku.com> - 2014-04-23 20:11 +0000
[OT] Killfiles (was Re: const or constant?) Keith Thompson <kst-u@mib.org> - 2014-04-23 14:49 -0700
Re: [OT] Killfiles (was Re: const or constant?) Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-04-23 22:22 -0700
Re: const or constant? James Kuyper <jameskuyper@verizon.net> - 2014-04-23 09:09 -0400
Re: const or constant? Ian Collins <ian-news@hotmail.com> - 2014-04-24 09:35 +1200
Re: const or constant? Ian Collins <ian-news@hotmail.com> - 2014-04-24 10:06 +1200
Re: const or constant? Ian Collins <ian-news@hotmail.com> - 2014-04-24 10:52 +1200
csiph-web