Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2014, 22:41   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
SetLength(a,0); - освобождение памяти, можно и не делать
Да, но я за привычку взял. Уже наверное назад не отучусь.
Цитата:
более простыми словами
Тоесть? Сейчас ты скажешь что у тебя турбопаскаль, угадал?
Цитата:
Дык выйдем же..
Холодно. -25 у нас.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2014, 22:57   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Да, но я за привычку взял.
Та же история
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2014, 22:59   #13
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
SetLength(a,0); - освобождение памяти, можно и не делать
А можно шушуть по подробнее? Почему можно и не делать?

Цитата:
Холодно. -25 у нас.
(а у нас -27 )
Poma][a вне форума Ответить с цитированием
Старый 29.01.2014, 23:03   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
можно и не делать, сама освободится при выходе из области видимости a
Уже писал выше. Так же как и память под переменные при выходе из области видимости.

У меня -24 и ветруган. Мрак
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2014, 23:05   #15
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Уже писал выше.
Спасибо! (Странно.. когда смотрел - этого, вроде, не было)
Цитата:
Так же как и память под переменные при выходе из области видимости.
Ах вот оно что.. Забавно.. Тоесть динамический массив, память для которого статично-динамична.. Очень забавно..
Poma][a вне форума Ответить с цитированием
Старый 29.01.2014, 23:09   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Тоесть динамический массив, память для которого статично-динамична..
Да не. Не в нем дело. Просто в данном случае им занимается тот же менеджер памяти что работает с string. А он умеет мусор убирать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2014, 23:12   #17
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А какую память мы используем? Ту, которая сразу отведена, или ту, которую, потом запросим у системы?
Poma][a вне форума Ответить с цитированием
Старый 29.01.2014, 23:18   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Под динамический массив сразу есть только указатель с nil. SetLenth под массив память запрашивает и не только, а и чистит от мусора её. SetLenth с нулем или просто присваивание nil указателю на массив явно освобождает память
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2014, 23:21   #19
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ага.. Тоесть a : array of Integer;

И a - это лишь указатель.. а размер самого массива = 0.. А далее мы просто изменяем размер массива, который в динамической памяти.. забавно.. Спасибо!

Цитата:
SetLenth с нулем или просто присваивание nil указателю на массив явно освобождает память
Тоесть a := nil ?
Poma][a вне форума Ответить с цитированием
Старый 29.01.2014, 23:25   #20
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Тоесть a := nil ?
Угу, эквивалентно SetLength(a,0)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача к одномерным массивам. kry Паскаль, Turbo Pascal, PascalABC.NET 2 29.12.2008 09:57
Помогите пожалуйста с зачетом (Паскаль) One.Love Помощь студентам 2 03.10.2008 23:20
Помогите студенту решить задачи по одномерным числовым массивам Аннюточка Помощь студентам 13 11.09.2008 15:35