Difference Macro/Function

Hi, what is the difference between Function and Macro in Blueprints? Is it what it is in C++, one is a function and the other a macro (#define), or an inline function?

This question has already been asked on this thread.

Extra info;
In macros, you can have 1 local variable of each type but you can have multiple Exc pins on your input and output. Macros support latent nodes like delays.

In functions you can create as many local variables but cannot create Exc pins. Functions do not support Latent nodes like delay,