C++ Вопрос про функции. - Вопросы по С+

Вопрос C++ Вопрос про функции.

Регистрация
23 Май 2013
Сообщения
105
Репутация
0
Спасибо
0
Монет
0
Стоит ли создавать динамические переменные в функции, чтобы после завершения работы функции память не засорялась? Заранее спасибо за ответ.
 
Регистрация
16 Дек 2012
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Какую память использовать - зависит от обстоятельств. Иногда - проще локальные переменные все разместить на стеке и потом не думать ни о чем. Иногда - наоборот - стек сильно ограничен и все локальные переменные лучше разместить на куче, а потом освободить память при выходе из функции. Тут - умные указатели в помощь. Иногда вообще - память нужно выделять динамически по требованию, но если для выделения использовать alloca то и про нее можно не думать при выходе из функции - разве что - убедиться, что деструкторы объектов отработали.
 
Регистрация
18 Окт 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Что такое "динамические переменные"? Это указатель на динамическую память? Выделение памяти при помощи new надо использовать тогда, когда это необходимо. Для автоматического освобождения динамической памяти удобно использовать "умные указатели" (std::unique_ptr и др.)
 
Регистрация
28 Июн 2013
Сообщения
112
Репутация
-2
Спасибо
1
Монет
0
Хм, после того, как функция заканчивает свою работу, она автоматически удаляет все свои переменные
 
Сверху Снизу