Macro 'Local' and 'Persistent Local' variables

Hey,

there are Local and Persistent Local variables within macros. I can’t seem to figure out what the difference is.

There is the Assign node to set the value of one of these variables. It is also possible to use Increment/Decrement Integer to change the value of a Local Integer variable.

I would expect the Local variables in a macro to behave like the local variables of a function. On entering a function, the variables are reset to their default value. Unfortunately they don’t and behave more like C++ static variables, they keep their value across multiple macro calls. The same for Persistent Local, so whats the difference between them?

Unreal Version: UE4.16.2