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


Groups > comp.lang.c > #6112

Re: a doubt about c

From Nobody <nobody@nowhere.com>
Subject Re: a doubt about c
Date 2011-06-15 17:07 +0100
Message-Id <pan.2011.06.15.16.06.49.32000@nowhere.com>
Newsgroups comp.lang.c
References (4 earlier) <95i37sFrhnU3@mid.individual.net> <it0q1d$vn3$1@dont-email.me> <023e5c4a-7ebf-4aca-91c0-858ba496c9c7@p13g2000yqh.googlegroups.com> <b0i9v6dmevkrqkbquq1cn3d740ot8nd124@4ax.com> <it2ka4$20q$1@dont-email.me>
Organization Zen Internet

Show all headers | View raw


On Sun, 12 Jun 2011 10:59:25 -0400, Eric Sosman wrote:

>>> Or #if?
>>
>>     if (expression that evaluates to zero at compile time)
>>     {
>>          non reachable code deleted by the compiler
>>     }
> 
>      C's preprocessor is, of course, capable of things that cannot
> be done this way, for instance
> 
> 	#if INT_MAX >= 1000000
> 	    typedef int Million;
> 	#else
> 	    typedef long Million;
> 	#endif
> 
> or
> 
> 	struct ByLightning {
> 	    double toil;
> 	    double trouble;
> 	    short shrift;
> 	    short snort;
> 	    #if DEBUG_LEVEL > 2
> 	        char debug_buff[1024];
> 	    #endif
> 	};

In C++, both of these examples could be done using templates, albeit
somewhat more verbosely.

One situation which can't be handled (entirely) by templates is:

	struct Struct {
		int foo;
		int bar;
	};

	enum Fields {
		foo,
		bar
	};

	struct StructField {
		int Struct::*ptr;
		int id;
		const char* name;
		StructField(int Struct::*ptr, int id, const char* name)
			: ptr(ptr), id(id), name(name) {}
	};

	StructField f(&Struct::foo, foo, "foo");
	StructField b(&Struct::bar, bar, "bar");
	// Using the preprocessor could avoid the redundant redundancy:
	// STRUCT_FIELD(f, foo);

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