* getTyp (コード片シリーズ#2)
-(by [[K]], 2024.06.17)

** (1)
-変数の型を取りたい。以下みたいなことをやりたい。
 #define Typ_i int
 #define Typ_d double
 #define Typ_s String
 
 autoPrint(i); // int.
 autoPrint(d); // double.
 autoPrint(s); // String.
-以下はコード片。

 #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); }
 
 #define getTyp(x) ACat(Typ_, x)
 
 #define Typ_i int
 #define Typ_d double
 #define Typ_s String



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS