I have always asked this but I have never received a really good answer; I think that almost any programmer before even writing the first \"Hello World\" had encountered a p
I think that the problem is that macros are not well optimized by the compiler and are "ugly" to read and debug.
Often a good alternatives are generic functions and/or inline functions.