Возможный дубликат:
Когда лучше использовать стек вместо кучи и наоборот?
Я прочитал несколько других вопросов относительно кучи и стека, но они, похоже, больше сосредотачиваются на том, что делает куча/стек, а не на том, почему вы их используете.
Мне кажется, что распределение стека почти всегда будет предпочтительным, поскольку оно быстрее (просто перемещение указателя стека и поиск свободного места в куче), и вам не нужно вручную освобождать выделенную память, когда вы сделано с его помощью. Единственная причина, по которой я могу понять, использовать выделение кучи, - это то, что вы хотите создать объект в функции, а затем использовать его вне этой области видимости, поскольку выделенная память в стеке автоматически не распределяется после возврата из функции.
Существуют ли другие причины использования распределения кучи вместо распределения стека, о котором я не знаю?