Orz部屋 - Tips/関数多重定義inC Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!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