tags:

views:

66

answers:

1

C doesn't have (to the best of my knowledge) overloading or templates, right? So how can a set of type-agnostic functions with the same name exist in plain ol' C? The usual compile-time trickery would involve a whole bunch of macros, wouldn't it?

+4  A: 

There's a great explanation of how it works in GCC here.

Also, if anyone can solve the medium-difficulty exercise, I'd love to know the answer.

rlbond
That was a great read. It makes sense that the whole thing is so kludgy, though a part of me was hoping for a magical "C with Templates" C99.
sync
+1. Great article. I'd love to hear the solution to the medium-difficulty exercise, too.
Matt B.
Spoiler for medium-difficulty exercise: Because it would produce the wrong answer for _Bool.
John Marshall