Вниз
Скачать: CL | DM;

Стек и как с ним работать   Найти похожие ветки 

 
Фесс   (2006-10-13 15:17) [0]

Кто-нибудь может мне объяснить что это такое и как со стеком работать


 
Elen ©   (2006-10-13 15:23) [1]


> Фесс

Стек используется при передаче параметров в функцию и для хранения локальных переменных в Делфи. Учебник по асму тебе в помощь (ищи POP и PUSH). И еще Яндекс...


 
ors_archangel ©   (2006-10-13 15:37) [2]

Стэк это также и очередь LIFO (last in - first out, или наоборот, если хочешь), можно самому себе написать (иногда полезно): пишешь класс с методами push и pop (вставить элемент, вытащить элемент). Стэк может быть удобнее, например, массива, если добавление/извлечение элементов только последовательное, нагляден весьма.
В асме элемент стека - это машинное слово процессора, но для нас нужны типы (тут западло начинается), но в Делфи нет шаблонов, поэтому элементом стека нужно делать либо pointer, либо TObject, либо, как вариант, можно использовать var нетипизированные параметры, но размер их знать тут придётся и т.д. :( Вобщем, реализация стека относится к обобщённому программированию, чего Паскаль, видимо, никогда не узнает; ООП в Делфи обладает полиморфизмом, но полиморфнен только код, типы же нет (хотя есть class-references, может они тут рулят?).


 
DrPass ©   (2006-10-13 17:41) [3]


> ors_archangel ©   (13.10.06 15:37) [2]

Буду краток: ЧЁ?


 
@!!ex ©   (2006-10-13 17:48) [4]

Мне про стжк в классе 4 я тогда был, объяснили очень просто:

Представь, что каждая переменная - это книга.
Стэк - коробка.
Ты кладеш туда книгу, еще одну, еще одну....
Доступ в коробку только сверху.
Поэтому первой ты можеш взять тольку ту книгу, которой положил последней, потом предпослеюнюю и т.д. до первой положенной книги.


примерно в такоу духе. :)


 
Ketmar ©   (2006-10-13 18:28) [5]

>[3] DrPass(c) 13-Oct-2006, 17:41
>Буду краток: ЧЁ?
местами неко заносит, и оно начинает бредить... %-(



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
2-1160928485
learner
2006-10-15 20:08
2006.10.29
Количество файлов в дректории.


2-1160566478
Freim
2006-10-11 15:34
2006.10.29
Изменение атрибута у файла


2-1160207704
C@N
2006-10-07 11:55
2006.10.29
Симуляция Ентера, бэкспейса, ИТП....


15-1160447688
Slider007
2006-10-10 06:34
2006.10.29
С днем рождения ! 10 октября


8-1143270941
Andry
2006-03-25 10:15
2006.10.29
GLScene и объект




   Наверх