参照元†
- 2つの変数の型が等しいかどうかを判定します。
- qualifiers(constやvolatile)が付いていても等しいと判断されます。
返り値†
/* Are two types/vars the same type (ignoring qualifiers)? */
#define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
- __builtin_types_compatible_p()はGCCの組み込み関数で、引数には型を2つ取り(変数や値は取らない)、同じ型であれば1、違う型であれば0を返す。
- typeof()はGCCの拡張構文で引数に指定した変数の型を返す。__typeof__と書いても良いらしい。
コメント†