Tips/関数多重定義inC
C言語による関数多重定義
ISO C11 _Generic によるargument type dispatch
- コンパイル時に引数型で、呼び出し関数を dispatchさせる
http://marycore.jp/prog/c-lang/function-overloading-in-c/#_Generic
ISO C11 __VA_ARGS__ マクロによるargument number dispatch
- マクロ引数照合を使って、引数の数に応じて呼び出し関数を dispatchさせる
https://stackoverflow.com/questions/11761703/overloading-macro-on-number-of-arguments
GNU/clang拡張属性 __attribute__((overloadable)) による多重定義
- 関数プロトタイプによる多重定義(C++に近い)
http://marycore.jp/prog/c-lang/function-overloading-in-c/#__attribute__%28%28overloadable%29%29
Keyword(s):
References:[Tips]