getTyp (コード片シリーズ#2)

(1)

#define ACat_Helper(x, y) x##y
#define ACat(x, y) ACat_Helper(x, y)
#define ACat3(x, y, z) ACat(ACat(x, y), z)
#define ACat4(a, b, c, d) ACat(ACat(a, b), ACat(c, d))

#define autoPrint(x) ACat(autoPrint_, getTyp(x))(x)

void autoPrint_int(int x) { printf("%d", x); }
void autoPrint_double(double x) { printf("%f", x); }
void autoPrint_String(char *x) { printf("%s", x); }

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS