"##" 是一種巨集上的用法,他的主要目的為連接兩個詞,
可以考慮以下的巨集定義:
#define MK_ID(n) i##n
使用巨集時:
int MK_ID(1), MK_ID(2), MK_ID(3);
會被巨集處理器擴展為:
int i1, i2, i3;
#define GENERIC_MAX(type) \
type type##max(type x, type y) \
{ \
return x > y ? x : y; \
}
使用巨集時:
GENERIC_MAX(float)
會被巨集處理器擴展為:
float float_max(float x, float y)
{
return x > y ? x : y;
}
C Programming: A Modern Approach, 2/e