C ++ Heap and Stack Memory (управление памятью) - PullRequest
0 голосов
/ 20 июня 2020

Итак, в настоящее время я работаю с указателями, и теперь я знаю, как их использовать и куда они вкладывают деньги, но есть еще один вопрос, который меня беспокоит. Почему мне нужны некоторые вещи в куче, а некоторые в стеке?

Когда мы объявляем указатель, переменная и адрес остаются в стеке, но указанный адрес указателя c УКАЗЫВАЕТ на значение. Хорошо, но почему я хочу это сделать? Почему бы мне просто не объявить обычную переменную? В чем смысл и когда мне нужно использовать динамическое выделение памяти c?

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Ну, все зависит от вас и вашего приложения.

Использование стека Вы бы использовали стек, если бы точно знали, сколько данных вам нужно выделить до времени компиляции, и это не слишком большой.

Использование кучи: Вы должны использовать кучу, если не знаете точно, сколько данных вам понадобится во время выполнения или если вам нужно выделить много данных.

вы также можете обратиться по ссылке ниже более подробно

Что и где находятся стек и куча?

0 голосов
/ 20 июня 2020

Память кучи «живет» до тех пор, пока вы не вызовете delete (или delete[]), память стека живет только до тех пор, пока вы не выйдете из области, в которой она объявлена. В этом разница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...