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

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

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

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

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

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

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

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

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

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

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

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

регистры уже давно не 16 битные:)
Да и не только вирусы - пакеры, протекторы, api шпионы.
...
Рейтинг: 0 / 0
стек
    #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
стек
    #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
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / стек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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