Virtual memory is a means of pretending there's more RAM on the box than there really is. Physical RAM is page out to disk to create this illusion. This total virtual memory is the size of the total physical RAM available to the OS plus the sum of the swap files/partitions available to the OS.
The C and C++ virtual machine (the view of what a computer is from the C/C++ perspective), is there's virtual memory, no other kind. This virtual memory is split into two types, the global heap and the run-time stack which grow from opposite ends of the total memory.
There is no notion of the stack living in physical RAM. You're confusing layers.