|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.12.2008, 20:38 | #1 |
Пользователь
Регистрация: 07.11.2008
Сообщений: 23
|
Как обозначается NEW и DISPOSE в блоксхеме???
Как обозначаются операторы New и Dispose из данной программы в блоксхеме??
Код:
|
08.12.2008, 21:15 | #2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Советую посмотреть эту тему.
Там много интересного. Однако, отвечая на вопрос: По-сути, символ ^ для компилятора - он дает ему знать, что работать он будет ни с чем-то "вещественным" (как мы привыкли), а с указателем. У вас определен тип ^Integer, таким образом мы говорим компилятору, что он будет иметь дело с указателями на память, в которой будут храниться данные типа Integer. New и Dispose работают с указателями, поэтому при использовании переменной нам не нужно указывать символ содержимого. Т.е. New(a) выделяет память под хранение типа Integer и возвращает (присваивает) нам адрес, в котором будет записано значение. Dispose(a) в свою очередь освобождает зарезервированное в памяти место. Иное - вычисления с переменными, помещеными в память. Если мы обратимся к ним на прямую (a:=6), то получим ошибку (не всегда, но в большинстве случаев =)), т.к. память занята каким-то процессом. Поэтому нам нужно записывать в значение по адресу, о чем и говорит знак ^ за переменной. То же самое при чтении таких переменных. Надеюсь, все понятно
Познавая других, мы познаем себя.
С'est la vie... Последний раз редактировалось SuperVisor; 08.12.2008 в 21:18. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему Dispose не освобождает память? | DeLorean | Общие вопросы Delphi | 4 | 08.04.2008 00:17 |
Как обозначается корневой каталог программы? | BeeX | Свободное общение | 1 | 25.11.2007 20:25 |