Я понимаю, что если у вас многопоточное приложение, и вам нужно выделить много памяти, то вы должны выделить в куче. Пространство стека делится между потоками вашего приложения, поэтому размер стека для каждого потока уменьшается по мере создания новых потоков. Таким образом, если вы попытаетесь выделить много памяти в стеке, он может переполниться. Но если предположить, что у вас однопоточное приложение, будет ли размер стека таким же, как у кучи?
Я где-то читал, что стек и куча не имеют четко определенной границы в адресном пространстве, а перерастают друг в друга.
P.S. Время жизни выделяемых объектов не является проблемой. Объекты создаются первым делом в программе и очищаются при выходе. Мне не нужно беспокоиться о том, что он выйдет за рамки и, таким образом, будет очищен от пространства стека.