Are C++ Templates just Macros in disguise?
Macros are a text substitution mechanism. Templates are a functional turing-complete language that is executed at compile time and is integrated into the C++ type system. You can think of them as a plugin mechanism for the language.