The C preprocessor's token pasting operator (in ANSI C and C++). It glues together two tokens, yielding a single token. Thus, x ## y (where x and y are tokens!) is the token xy.
This is most useful in conjunction with #define macros. For example (based on some real production code I have written):
#ifdef FAST_COMPARE /* compare by pointer value */
#define IS_KEYWORD(ptr,x) ((ptr) == strings[kwd_ ## x])
#else
#define IS_KEYWORD(ptr,x) (strcmp(ptr, ":" #x)==0)
#endif
This code lets me write IS_KEYWORD(p, number) to check if the
char * p does indeed represent the
symbol for ":
number". If FAST_COMPARE is defined, p is assumed to point directly into an entry of the array strings. That array is indexed by an
enum, with kwd_number being the index for the keyword "
:number". Otherwise, I need to do a string compare (that option uses the stringizing operator
#x, along with
string concatenation).