Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
I have some old code that tries to construct identifiers with a macro like ...
I have some old code that tries to construct identifiers with a macro like
#define Paste(a, b) a/**/b
but it doesn't work any more.
✍: Guest
It was an undocumented feature of some early preprocessor implementations (notably Reiser's) that comments disappeared entirely and could therefore be used for token pasting. ANSI affirms (as did K&R1) that comments are replaced with white space, so they cannot portably be used in a Paste() macro. However, since the need for pasting tokens was demonstrated and real, ANSI introduced a well-defined token-pasting operator, ##, which can be used like this:
#define Paste(a, b) a##b
Here is one other method you could try for pasting tokens under a pre-ANSI compiler:
#define XPaste(s) s
#define Paste(a, b) XPaste(a)b
2016-01-27, 1279👍, 0💬
Popular Posts:
Do events have return type ? No, events do not have return type.
How do I use a scriptlet to initialize a newly instantiated bean? A jsp:useBean action may optionall...
What is normalization? What are different types of normalization? It is set of rules that have been ...
How Are Vertical Margins between Two Block Elements Collapsed? - CSS Tutorials - Understanding Multi...
What is thread? A thread is an independent path of execution in a system.