Stack is set up by the C/C++ runtime support when your function is called.
Algo:
main()
{
newElement2();
}
<=>
main()
{
1. Setup stack for newElement2();
2. Stack for newElement2 include passed parameter.
3. Pass control to newElement2
4. clean up stack for newElement2.
}
So unless you create variable in heap, it will go away.
Stack gets set up a lot of times and frequently, so it will be very expensive to clean up or zero out. So it is not done like that.