Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: 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 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
2-1161006472
Ksan
2006-10-16 17:47
2006.10.29
Синтаксис


15-1160059103
TUser
2006-10-05 18:38
2006.10.29
Коучи


6-1149132298
BanderLog
2006-06-01 07:24
2006.10.29
Indy10 WriteFile и синхронизация


15-1160519274
Германн
2006-10-11 02:27
2006.10.29
Мне необходим отдых


15-1159869480
syte_ser78
2006-10-03 13:58
2006.10.29
Помогите разобратся с "инфракрасным" подключением