@voproser45654
Мечтаю писать на машинных кодах

Как «забыть» переменную на c/c++?

Как "забыть" переменную на с/с++? Припустим ты использовал переменную, и она тебе больше нигде не нужна, вопрос: как ее удалить?
  • Вопрос задан
  • 1303 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега C
Седой и строгий
Переменные прекращают существование после завершения блока, в котором объявлены. Соответственно, используйте маленькие функции, объявляйте переменные как можно ближе к месту их использования и компилятор обо всём позаботится сам.
Ответ написан
Комментировать
@skyazimuth
Во-первых, переменные с модификатором static видны только в модуле в котором объявлены. Хотя, в общем случае, они будут физически храниться всю жизнь программы. Во-вторых, переменные, объявленные внутри блока живут только на время выполнения этого блока, кроме static внутри функции. Грубо говоря, все что внутри фигурных скобок только там и существует. Причем, блок можно создать и в нетипичных местах, например, case 0: {int i; break;} или вообще в произвольном месте функции. В-третьих, оптимизатор сам следит за тем, где используется переменная. И если он видит, что дальше в функции переменная не используется, то физически на ее месте в памяти может разместить другую. Но с точки зрения текста программы, конечно, она будет считаться видимой до конца блока.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы