Topic: question : 2.4 preprocessor tokens


Author: oceanbreeze@hargray.com ("Oceanbreeze")
Date: Sat, 17 Apr 2004 18:27:20 +0000 (UTC)
Raw View
In section 2.4 the C++ Standard defines a preprocessing token as one of :

header-name
identifier
pp-number
character-literal
string-literal
preprocessing-op-or-punc
each non-whitespace character that cannot be one of the above

Can someone explain and/or give examples of the last item :
"each non-whitespace character that cannot be one of the above".

TIA
Jeff Higgins


---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]





Author: kristov@arcor.de (Christoph Schulz)
Date: Sun, 18 Apr 2004 21:09:34 +0000 (UTC)
Raw View
Hello,

> In section 2.4 the C++ Standard defines a preprocessing token as one of :
> [...]
> each non-whitespace character that cannot be one of the above
>
> Can someone explain and/or give examples of the last item :
> "each non-whitespace character that cannot be one of the above".

This covers e.g. characters like '$' which do not have any standard
meaning in C++ (i.e. they are not part of any token). But IIRC, two
single quotation marks ('') without any characters in between also fall
into this category, because this cannot be a valid character-literal. So
each quotation mark is a "non-whitespace character that cannot be one of
the above".

Regards,
   Christoph

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]