MASM locals: dynamically allocated data?
I'm learning masm32, following some tutorials.
In one tutorial: http://win32assembly.online.fr/tut3.html
there is stated: 

> LOCAL directive allocates memory from the stack for local variables
> used in the function. The bunch of LOCAL directives must be
> immediately below the PROC directive. The LOCAL directive is
> immediately followed by <the name of local variable>:<variable type>.
> So LOCAL wc:WNDCLASSEX tells MASM to allocate memory from the stack
> the size of WNDCLASSEX structure for the variable named wc. We can
> refer to wc in our codes without any difficulty involved in stack
> manipulation. That's really a godsend, I think. The downside  is that
> local variables cannot be used outside the function they're created
> and will be automatically destroyed when the function returns to the
> caller. Another drawback is that you cannot initialize local variables
> automatically because **they're just stack memory allocated dynamically**
> when the function is entered . You have to manually assign them with
> desired values after LOCAL directives.

I've always been told stack memory is static, and any dynamic allocation is heap.
Can we really consider those as locals in the sense of C++ then?
When you create local variables in C++, will those variables be dynamically allocated on the stack as well?
MASM locals: dynamically allocated data?
===

I'm learning masm32, following some tutorials.
In one tutorial: http://win32assembly.online.fr/tut3.html
there is stated: 

> LOCAL directive allocates memory from the stack for local variables
> used in the function. The bunch of LOCAL directives must be
> immediately below the PROC directive. The LOCAL directive is
> immediately followed by <the name of local variable>:<variable type>.
> So LOCAL wc:WNDCLASSEX tells MASM to allocate memory from the stack
> the size of WNDCLASSEX structure for the variable named wc. We can
> refer to wc in our codes without any difficulty involved in stack
> manipulation. That's really a godsend, I think. The downside  is that
> local variables cannot be used outside the function they're created
> and will be automatically destroyed when the function returns to the
> caller. Another drawback is that you cannot initialize local variables
> automatically because **they're just stack memory allocated dynamically**
> when the function is entered . You have to manually assign them with
> desired values after LOCAL directives.

I've always been told stack memory is static, and any dynamic allocation is heap.
Can we really consider those as locals in the sense of C++ then?
When you create local variables in C++, will those variables be dynamically allocated on the stack as well?