Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / стек / 12 сообщений из 12, страница 1 из 1
21.09.2006, 16:10
    #34003793
яцик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
подскажите, плз, как в VC6.0 осуществл. работа со стеком? как его создать? как запихать туда эл-ты и как кдалить из него энное кол-во эл-в?
...
Рейтинг: 0 / 0
21.09.2006, 16:13
    #34003810
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
существует ручная обработка и "ножная" "стандартная" обработка,
вручную - используя структуры
struct blablabla
{
blablabla *next;
long val;
};

вножную - используя "стандартный" класс - стек.
...
Рейтинг: 0 / 0
21.09.2006, 16:17
    #34003834
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
точнее, адаптер контейнера stack
...
Рейтинг: 0 / 0
21.09.2006, 16:21
    #34003847
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
яцикподскажите, плз, как в VC6.0 осуществл. работа со стеком? как его создать? как запихать туда эл-ты и как кдалить из него энное кол-во эл-в?

помню как один человечик пришедший с делфи, ответил на собеседовании где то так:

стэк это область процессора, где.....

это так - вспомнилось....
по сути вопроса...
стэк это область памяти в которую помещаются или изымаются данные специальными командами процессора по принципу FILO (первый вошёл - последним вышел). Стэк инициализируется ("указатель" на данную область памяти и т.д.) как правило операционкой (если таковые имеються). "Указателем" выступает регистр микропроцессора. Память куда ссылается данный "указатель" выделяет так же операционка (если такая присутствует). Стэк используется как правило для сохранения адреса(ов) возврата из подпрограмм либо прерываний, а так же для хранения данных "на стэке" (в последнем случае на стэке образуется кадр данных, с которыми и работает подпрограмма. механизация образования кадра реализована как правило в самих языках программирования - от сей и выше)...

с уважением
(круглый)
...
Рейтинг: 0 / 0
21.09.2006, 16:38
    #34003917
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
В данном случае наверное имелся в виду стек как структура данных.
...
Рейтинг: 0 / 0
21.09.2006, 16:47
    #34003948
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
--null--В данном случае наверное имелся в виду стек как структура данных.

"наверное" и "как" - очень точные понятия...особенно для телепатов...
к сожалению - я не обладаю телепатией...

с уважением
(круглый)
...
Рейтинг: 0 / 0
22.09.2006, 08:08
    #34004847
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
kolobok0стэк это область памяти в которую помещаются или изымаются данные специальными командами процессора по принципу FILO (первый вошёл - последним вышел).
Простите, но это не стек, а очередь.
Стек - FIFO - первый пришёл, первый ушёл. Он же магазин.
...
Рейтинг: 0 / 0
22.09.2006, 08:09
    #34004848
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
Виноват, зарапортовался.
...
Рейтинг: 0 / 0
22.09.2006, 13:52
    #34006173
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
muk07Виноват, зарапортовался.

бывает... :)
кстати говоря есть классический пример взятия текущего смещения (актуально в вирусах) - сие делается с помощью стэка как раз...красиво и коротко как выстрел...

Код: plaintext
1.
2.
3.
  call  Point
Point:
  pop  bp    ; ну или ышо куда -> тут теперь смещение относительно текущего командного сегмента. Относительной данной точки и расчитываются все смещения при модификациях и т.п. и т.д...

с уважением
(круглый)
...
Рейтинг: 0 / 0
22.09.2006, 14:41
    #34006388
a_s_d
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
call Point
Point:
pop bp

Гражданин, вы в каком веке живёте:)

регистры уже давно не 16 битные:)
Да и не только вирусы - пакеры, протекторы, api шпионы.
...
Рейтинг: 0 / 0
22.09.2006, 14:47
    #34006412
Shiklgruber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
to яцик
вот пример обработки "в ножную" (если я правильно понял) :)


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
#include <iostream>
#include <stack>
using namespace std;


typedef stack<int> Tstek;

int main()
{
  Tstek stek;
// заполняем стек
  for(int i= 1 ; i<= 10 ; ++i)
     stek.push(i* 2 );
//пока размер стека не ноль
   while(stek.size()> 0 )
{
   cout << stek.top() << " ";//отображаем последний элемент
   stek.pop();//и удаляем его
 
}
 
int a;
 cin>> a;

return  0 ;
}

...
Рейтинг: 0 / 0
22.09.2006, 14:53
    #34006430
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
стек
a_s_d..Гражданин, вы в каком веке живёте:)...регистры уже давно не 16 битные:)....

я те одын умный вещь скажу - ты только не обижайся (из кинухи)...

и 8, и 16, и 32, и 64...

8 - см. микроконтроллеры серии скажем 51
16 - туда же, серии AVR к примеру...
32 - пром. процы и т.д....
64 - вроде Intel штампует так же...

так, что Вы не держите "руку на пульсе". :) Да и мир ВТ не замыкается на дэск топах...А данный пример был просто приведён как пример, без посягательств на реальное отображение того металла что стоит лично у Вас на столе... Могу вот такой вот например написать...

Код: plaintext
1.
2.
3.
4.
  acall Point
Point:
  pop  acc
  pop  b

это уже азм 51 МК...

с уважением
(круглый)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / стек / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]