Вопрос таков: я использовал, например, 100 переменных, забил в них всех значения, затем сделал с их помощью действия, не имеет значения какие. И вот теперь по сути эти переменные больше мне не нужны. Если я очищу их значение - это высвободит часть памяти, или это не имеет смысла?

Принятый ответ

Глобальные переменные как висят в памяти, так они там и есть. Но если ты потом не переписываешь глобальные и вообще перестаешь эти переменные пользовать, то лучше обнулить
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
15
0
Глобальные переменные как висят в памяти, так они там и есть. Но если ты потом не переписываешь глобальные и вообще перестаешь эти переменные пользовать, то лучше обнулить
Принятый ответ
2
16
2
память в любом случае будет съедена. локальные лучше занулить, чтобы место стало вакантно
0
12
0
По сути 100-200 локальных переменных даже с необнуленными значениями не окажут абсолютно никакого влияния на игровой процесс, поскольку затраты памяти на них ничтожны. Исключения составляют переменные, которые содержат большое количество символов (буквенных/цифирных).
0
15
0
DracoL1ch, Astra, что вы несете? откуда вы это вообще взяли?
0
12
0
Astra:
По сути 100-200 [глобальных] переменных даже с необнуленными значениями не окажут абсолютно никакого влияния на игровой процесс, поскольку затраты памяти на них ничтожны. Исключения составляют переменные, которые содержат большое количество символов (буквенных/цифирных) - [в своем значении].
Механически ошибся в виде переменной.
0
15
0
Astra, ну выделяешь ты память под int? Хоть ты туда 0 запишешь, хоть ты туда 111111 запишешь. Какая разница-то?
0
12
0
EnergyFrost:
Astra, ну выделяешь ты память под int? Хоть ты туда 0 запишешь, хоть ты туда 111111 запишешь. Какая разница-то?
Я могу в "String" запихнуть кучу кирилического текста
0
20
0
EnergyFrost, переменные-массивы обнулять необходимо вот такой командой:
call RemoveLocation(udg_HranitelPoint[0]) ?
Меня волнует обозначение индекса.
0
15
0
Yury13, ты не обнуляешь, а удаляешь объект, на который ссылается udg_HranitelPoint[0]. А обнуление- приравнивание к нулевому значению, то есть переменная перестает содержать ссылку на какой-либо объект, либо приводится к исходному значению. В общем, у вас каша в голове. Прочитайте статьи.
2
16
2
EnergyFrost:
DracoL1ch, Astra, что вы несете? откуда вы это вообще взяли?
я - из c++ и кода варкрафта. а ты дальше рассуждай из пальца
EnergyFrost:
Yury13, ты не обнуляешь, а удаляешь объект, на который ссылается udg_HranitelPoint[0]. А обнуление- приравнивание к нулевому значению, то есть переменная перестает содержать ссылку на какой-либо объект, либо приводится к исходному значению. В общем, у вас каша в голове. Прочитайте статьи.
при этом память, выделенная для переменной, остается занятой игрой и не высвобождается до выхода из карты. поэтому и нужно нулить, чтобы вакантные места занимали новые локалки, а не отъедали снова и снова куски памяти
0
12
0
Глобалки обнулять - можно, но практического смысла в этом нет. Про удаление точек конечно речь отдельная. Что касательно локальных довольно неплохо описано здесь - xgm.guru/p/wc3/w3datatypes
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.