Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Macros vs Inlines

Name: Anonymous 2011-10-15 4:05

Why do so many C programmers define stuff like min and max as macros?

I see stuff like #define MIN(a, b) (a < b ? a : b) everywhere, but then you get issues if you do stuff like MIN(a++, b--). If MIN was an inline function you wouldn't get undefined behavior like that.

Is it because C doesn't have overloadable functions, so you can't define a single MIN that works with every type of number?

Name: FrozenVoid 2011-10-15 4:38

Macros are guaranteed to not have any overhead
They are more portable, without any types
They takes less space to code, can use all global vars/functions
In most of code small functions can be nested very deep without overhead of real functions. You have to be careful though with side effects, but its easy to spot.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List