Quote Originally Posted by Epy View Post
(Not jumping back into the argument, just never heard of alloca()) Isn't this nonstandard? Googled it and didn't see that it was standard C or C++, and not even POSIX. One of the GNU one-offs.
It's an extension, but pretty much ubiquitous across all systems. It wouldn't be part of POSIX though, since this standard doesn't deal with memory allocation of any sort.

Quote Originally Posted by Elysia View Post
You can allocate a fixed block of heap memory at the start of your program and use that as a stack. Problem solved.
Quote Originally Posted by Elysia View Post
In the embedded world, you can just point a pointer to some usable memory to use as a stack in your allocator. And there are usually API calls that you can use to get dynamically allocated memory on all but the simplest of embedded systems.
Yes, and I can make a stack of pizza boxes. It's still not a memory stack.
Anyways, more to the point: If your purpose all along was to name functional alternatives to non-existing language features, then you already lost. Because there is too nothing that C++ does that can't be done in C.