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

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

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

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

Войти через центр авторизации
Похожие вопросы