Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 29.01.2014, 22:41   #11
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


20:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru