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


Groups > comp.std.c++ > #637

Re: A preprocessor feature we should have had 40 years ago

From Jens Schweikhardt <usenet@schweikhardt.net>
Newsgroups comp.std.c++
Subject Re: A preprocessor feature we should have had 40 years ago
Followup-To comp.std.c
Date 2013-06-09 02:21 -0700
Organization unknown
Message-ID <b1hhhiFi8ohU1@mid.individual.net> (permalink)
References <UrKdnTRjb8pONQDMnZ2dnUVZ_oudnZ2d@earthlink.com>

Followups directed to: comp.std.c

Show all headers | View raw


In comp.std.c Paul D. DeRocco <pderocco@ix.netcom.com> wrote:
#
# This is going to the C and C++ lists because it is equally applicable to
# both.
#
# I've occasionally needed to use the preprocessor to repeat a piece of
# code some variable number of times. What would be so hard about
# implementing this?
#
#     #repeat <identifier> <const-expression>
#     ...
#     #endrepeat
#
# The expression would be evaluated, and the contents of the block would
# be repeated that number of times, with the preprocessor identifier
# taking values 0 through n-1. Even with a fixed count, this can be useful:
#
#     const int squares[] = {
#     #repeat I 101
#         I * I,
#     #endrepeat
#     };

Because almost *any* language other than the preprocessor langue you
have in mind is already *better* suited for this task. For the above, in
vi I type

    :r!perl -e 'foreach(0..100){print "$_ * $_,\n"}'

with the result portable to before 1970. Using awk makes this even POSIX,
since both vi and awk are standardized. If you're a purist, you could even
write, compile and run a short C program.

# Less trivial usages would of course involve counts that are themselves
# preprocessor symbols or expressions. The only way to do this now is to
# nest a lot of #if statements, up to some maximum size one might need,
# and explicitly write the contents of each iteration.

Maybe I'm the exception, but I never felt the need for such complicated
repetitions where the limits involve preprocessor symbols. How many
can you come up with that would convince a committee to invest time?
Do a survey on how much open source C code would benefit from it
by reducing code size significantly. I doubt you get very far.

"Followup-To:" trimmed to comp.std.c.


Regards,

	Jens
-- 
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)


[ comp.std.c++ is moderated.  To submit articles, try posting with your ]
[ newsreader.  If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]

Back to comp.std.c++ | Previous | NextPrevious in thread | Find similar


Thread

A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-05-23 19:18 -0600
  Re: A preprocessor feature we should have had 40 years ago Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-05-24 15:19 -0700
  Re: A preprocessor feature we should have had 40 years ago jacob navia <jacob@spamsink.net> - 2013-05-25 02:23 -0700
  Re: A preprocessor feature we should have had 40 years ago Keith Thompson <kst-u@mib.org> - 2013-05-25 02:24 -0700
    Re: A preprocessor feature we should have had 40 years ago "Kenneth \"Bessarion\" Boyd" <zaimoni@zaimoni.com> - 2013-05-25 23:43 -0700
    Re: A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-05-25 23:44 -0700
      Re: A preprocessor feature we should have had 40 years ago Francis Glassborow <francis.glassborow@btinternet.com> - 2013-05-26 08:52 -0600
  Re: A preprocessor feature we should have had 40 years ago Rui Maciel <rui.maciel@googlemail.com> - 2013-05-25 23:43 -0700
  Re: A preprocessor feature we should have had 40 years ago Peter <pcurran88@googlemail.com> - 2013-05-30 19:40 -0600
    Re: A preprocessor feature we should have had 40 years ago "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-06-01 02:04 -0600
      Re: A preprocessor feature we should have had 40 years ago ootiib@hot.ee - 2013-06-01 14:53 -0600
      Re: A preprocessor feature we should have had 40 years ago James Kuyper <jameskuyper@verizon.net> - 2013-06-04 10:41 -0600
        Re: A preprocessor feature we should have had 40 years ago espie@lain.home (Marc Espie) - 2013-06-05 23:12 -0700
          Re: A preprocessor feature we should have had 40 years ago James Kuyper <jameskuyper@verizon.net> - 2013-06-06 09:20 -0700
  Re: A preprocessor feature we should have had 40 years ago Jens Schweikhardt <usenet@schweikhardt.net> - 2013-06-09 02:21 -0700

csiph-web