30.07.2012, 23:21
Today I learned that pattern name is called prefix. The prefix is the part of pattern that begins at the beginning of the pattern and ends on first occurrence of non-alphabetic character.
Note: in this context alphabetic means it is member of: 'a'..'z', 'A'..'Z', '0'..'9', '@', '_'.
This is important because warning 201("redefinition of constant/macro") is issued when there are more then one equivalent PREFIXes(NOT patterns).
I have also learned that trailing argument in pattern is cut off if it exists because it could match anything,
actually is equivalent to
Note: in this context alphabetic means it is member of: 'a'..'z', 'A'..'Z', '0'..'9', '@', '_'.
This is important because warning 201("redefinition of constant/macro") is issued when there are more then one equivalent PREFIXes(NOT patterns).
Код:
#define pattern substitution #define prefix<non-alphabetic substitution #define prefix{non-alphabetic warning 201 issued
Код:
#define _X%1 whatever
Код:
#define _X whatever