Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #5877

Re: a doubt about c

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: a doubt about c
Date 2011-06-12 14:56 +1200
Message-ID <95io7lFrhnU6@mid.individual.net> (permalink)
References (3 earlier) <slrniv7knq.s0f.angel+news@pearlgates.net> <95i37sFrhnU3@mid.individual.net> <qiv7v6d8p89b7qkmfcmg2bhrq0qg48sim1@4ax.com> <lnr5707y9f.fsf@nuthaus.mib.org> <it17c7$6va$1@dont-email.me>

Show all headers | View raw


On 06/12/11 02:13 PM, Stephen Sprunk wrote:
> On 11-Jun-11 18:18, Keith Thompson wrote:
>> DSF<notavalid@address.here>  writes:
>>>    May I ask why you feel that way?  #define constants certainly have a
>>> potential performance benefit over a const variable.  The use of a
>>> #define constant is often replaced with an immediate value, whereas a
>>> const variable is likely to be stored in a static memory pool which is
>>> often part of the program itself.  This leaves the potential for
>>> slower execution and a larger program size.
>>
>> If a const object's initialization is a constant expression, any
>> decent optimizing compiler will replace any reference to the object
>> with its value (unless fetching it from memory is actually faster
>> on the system in question).
>
> AFAICT, that would not be legal since some other code outside the
> current compilation unit could cast away the variable's const-ness and
> alter its value.  It's also not possible to eliminate the object
> entirely if some code takes its address with the&  operator.

The only way to alter the value is to take the address with the & 
operator.  How does one take the address of a macro constant?

> If const objects were actually constant expressions in C rather than
> merely read-only objects, as one might naïvely expect (and they are in
> C++), that'd be a different matter.

Both the compilers I use will place a variable declared const at a read 
only address.  So any attempt to change its value will release nasal demons.

-- 
Ian Collins

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

a doubt about c Ya Shou <zxyzxy12321@gmail.com> - 2011-06-11 06:11 -0700
  Re: a doubt about c James Kuyper <jameskuyper@verizon.net> - 2011-06-11 09:36 -0400
  Re: a doubt about c Angel <angel+news@spamcop.net> - 2011-06-11 14:37 +0000
    Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 11:55 -0700
      Re: a doubt about c Angel <angel+news@spamcop.net> - 2011-06-11 20:41 +0000
        Re: a doubt about c Ian Collins <ian-news@hotmail.com> - 2011-06-12 08:58 +1200
          Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-11 17:09 -0500
          Re: a doubt about c Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-11 18:25 -0400
            Re: a doubt about c Ian Collins <ian-news@hotmail.com> - 2011-06-12 11:43 +1200
            Re: a doubt about c Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-06-12 05:38 -0700
              Re: a doubt about c Roberto Waltman <usenet@rwaltman.com> - 2011-06-12 10:12 -0400
                Re: a doubt about c Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-12 10:59 -0400
                Re: a doubt about c Nobody <nobody@nowhere.com> - 2011-06-15 17:07 +0100
                Re: a doubt about c Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-06-12 11:33 -0700
                Re: a doubt about c James Kuyper <jameskuyper@verizon.net> - 2011-06-15 09:53 -0400
                Re: a doubt about c Dr Nick <3-nospam@temporary-address.org.uk> - 2011-06-16 18:46 +0100
          Re: a doubt about c DSF <notavalid@address.here> - 2011-06-11 18:53 -0500
            Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 16:18 -0700
              Re: a doubt about c Stephen Sprunk <stephen@sprunk.org> - 2011-06-11 21:13 -0500
                Re: a doubt about c Ian Collins <ian-news@hotmail.com> - 2011-06-12 14:56 +1200
                Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 20:24 -0700
                Re: a doubt about c Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-12 08:10 -0400
            Re: a doubt about c Ian Collins <ian-news@hotmail.com> - 2011-06-12 11:49 +1200
        Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 15:36 -0700
      Re: a doubt about c Nobody <nobody@nowhere.com> - 2011-06-12 00:23 +0100
        Re: a doubt about c Seebs <usenet-nospam@seebs.net> - 2011-06-13 14:39 +0000
          Re: a doubt about c Squeamizh <squeamz@hotmail.com> - 2011-06-15 15:44 -0700
            Re: a doubt about c Geoff <geoff@invalid.invalid> - 2011-06-15 19:57 -0700
              Re: a doubt about c "J. J. Farrell" <jjf@bcs.org.uk> - 2011-06-16 18:39 +0100
                Re: a doubt about c Nobody <nobody@nowhere.com> - 2011-06-17 15:39 +0100
                Re: a doubt about c Willem <willem@toad.stack.nl> - 2011-06-17 14:49 +0000
                Re: a doubt about c Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-06-17 09:14 -0600
                Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-17 12:00 -0500
                Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-17 11:08 -0500
                Re: [OT] Doubt vs. question. (Re: a doubt about c) Shao Miller <sha0.miller@gmail.com> - 2011-06-17 13:00 -0500
                Re: [OT] Doubt vs. question. (Re: a doubt about c) Shao Miller <sha0.miller@gmail.com> - 2011-06-22 19:01 -0500
                Re: a doubt about c Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-06-17 09:14 -0600
                Re: a doubt about c Seebs <usenet-nospam@seebs.net> - 2011-06-17 22:16 +0000
                Re: a doubt about c "J. J. Farrell" <jjf@bcs.org.uk> - 2011-06-18 02:24 +0100
      Re: a doubt about c Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-06-11 23:09 -0600
      [OT] Doubt vs. question.  (Re: a doubt about c) Roberto Waltman <usenet@rwaltman.com> - 2011-06-12 10:05 -0400
        Re: [OT] Doubt vs. question.  (Re: a doubt about c) Keith Thompson <kst-u@mib.org> - 2011-06-12 11:22 -0700
          Re: [OT] Doubt vs. question.  (Re: a doubt about c) Ben Pfaff <blp@cs.stanford.edu> - 2011-06-12 11:44 -0700
        Re: [OT] Doubt vs. question.  (Re: a doubt about c) Ralph Spitzner <rasp@spitzner.org> - 2011-06-13 11:31 +0200
          Re: [OT] Doubt vs. question.  (Re: a doubt about c) James Kuyper <jameskuyper@verizon.net> - 2011-06-15 10:03 -0400
            Re: [OT] Doubt vs. question. (Re: a doubt about c) Dr Nick <3-nospam@temporary-address.org.uk> - 2011-06-17 07:52 +0100
            Re: [OT] Doubt vs. question.  (Re: a doubt about c) Michael Press <rubrum@pacbell.net> - 2011-06-19 00:41 -0700
              Re: [OT] Doubt vs. question.  (Re: a doubt about c) James Kuyper <jameskuyper@verizon.net> - 2011-06-19 07:04 -0400
                Re: [OT] Doubt vs. question.  (Re: a doubt about c) Bill Waddington <william.waddington@beezmo.com> - 2011-06-23 11:03 -0700
  Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-11 11:23 -0500
    Re: a doubt about c pete <pfiland@mindspring.com> - 2011-06-11 13:56 -0400
      Re: a doubt about c "dr.oktopus" <blindwilly@freeonline.zzn.com> - 2011-06-11 12:53 -0700
        Re: a doubt about c Lew Pitcher <lpitcher@teksavvy.com> - 2011-06-11 16:01 -0400
        Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 13:07 -0700
        Re: a doubt about c Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-06-11 14:13 -0600
          Re: a doubt about c Nobody <nobody@nowhere.com> - 2011-06-11 23:31 +0100
            Re: a doubt about c pete <pfiland@mindspring.com> - 2011-06-11 20:07 -0400
            Re: a doubt about c Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-06-11 23:05 -0600
      Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-11 16:42 -0500
        Re: a doubt about c "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2011-06-11 14:23 -0700
          Re: a doubt about c Shao Miller <sha0.miller@gmail.com> - 2011-06-11 17:27 -0500
            Re: a doubt about c Keith Thompson <kst-u@mib.org> - 2011-06-11 15:42 -0700
  Re: a doubt about c Seebs <usenet-nospam@seebs.net> - 2011-06-13 14:39 +0000

csiph-web