2013年1月12日土曜日

C でオーバーローディングが可能に (Clangフィーチャー)

これは..




__attribute__((overloadable)) を使うと型の異なる同名の関数を複数定義できる。
例えば NSDictionaryとNSArrayにそれぞれ対応した同名のmap関数を定義した例。
__attribute__((overloadable)) NSArray *map(NSArray *array, id(^)(id obj));
__attribute__((overloadable)) NSDictionary *map(NSDictionary *dictionary, id(^)(id key, id obj));

今後 Objective-C にどんな影響があるのか楽しみ。


(関連)


0 件のコメント:

コメントを投稿