powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / динамический стек !!!!!!!!!!!!!!!!!!!!!!!
14 сообщений из 14, страница 1 из 1
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607121
111111122222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как задать динамически стек размером 2n, где n-некоторая длина?
пишу так:
T *stack=new T[2*n]; // sizeof(stack) всегда равен 4 (знаю, это выделяется под тип int) А как сделать чтобы итоговая величина зависела от величины n? например если у меня n=10 000?
если пишу например так: T stack[20 000]; то выходит примерно то что нужно (sizeof(stack)=80000), только это цифра взята из головы (я про 20 000), а мне нужна привязка к цифре n.
как написать эту комманду?
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607150
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы создаете указатель на тип, поэтому:

Код: plaintext
1.
2.
sizeof(stack)=sizeof(pointer)= 4 ;
sizeof(*stack)=sizeof(T);

Если вы хотите знать размер массива не делая это вручную используйте std::vector.
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607154
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
111111122222как задать динамически стек размером 2n, где n-некоторая длина?
пишу так:
T *stack=new T[2*n]; // sizeof(stack) всегда равен 4 (знаю, это выделяется под тип int) А как сделать чтобы итоговая величина зависела от величины n? например если у меня n=10 000?
если пишу например так: T stack[20 000]; то выходит примерно то что нужно (sizeof(stack)=80000), только это цифра взята из головы (я про 20 000), а мне нужна привязка к цифре n.
как написать эту комманду?

sizeof(stack) == 4 поскольку это указатель.
а сколько в нем элементов ты должен сам отлежитвать. ну если мимо попадешь, будет ошибка.
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607199
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вектор использовать не судьба ?
Или просто руку набиваем ???
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607272
111111122222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
руку набиваем :) что бы понять механизм, нужно разобраться досканально как это все работает.
и все же...
как сделать то что я спросил НЕ используя вектор?
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607283
111111122222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
руку набиваем :) что бы понять механизм, нужно разобраться досканально как это все работает.
и все же...
как сделать то что я спросил НЕ используя вектор?
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607303
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
111111122222 wrote:

> как сделать то что я спросил НЕ используя вектор?
Что-то я не понимаю, в чем проблема. :-\
есть new, delete, memcpy а так же malloc, realloc и free. Класс-обертку
написать несложно. Что конкретно непонятно то?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607314
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто для стека нужен класс-обертка а в нем поля - текущий размер и
максимально возможный размер. (size и capacity), ну и массив размера
capacity, куда элементы дописываются. При выполнении условия size==capacity
массив, например, увеличивается вдвое или на фиксированное количество
элементов. В чем проблема-то?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607336
111111122222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблемма в том что я не понимаю как это написать. как знал - уже пробовал, как по другому - не знаю. разве это не одной командой решается?
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607392
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, одной :)

Код: plaintext
// Уважаемый MSVC  3010  сделай за меня программу
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34607428
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
111111122222проблемма в том что я не понимаю как это написать. как знал - уже пробовал, как по другому - не знаю. разве это не одной командой решается?

В С++ нет. Для винды Celebrum как-то через смещение назад делал.
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34608517
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
111111122222проблемма в том что я не понимаю как это написать.почитай, как написан вектор, там всё есть.
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34608547
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ты что,он там и останется:)
...
Рейтинг: 0 / 0
динамический стек !!!!!!!!!!!!!!!!!!!!!!!
    #34608567
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
111111122222 wrote:

> проблемма в том что я не понимаю как это написать. как знал - уже
> пробовал, как по другому - не знаю. разве это не одной командой решается?
Все равно не понимаю вопрос. Используйте std контейнеры тогда. Или realloc.
Или сделайте свой темплейтный класс под стек, основанный на списках, а
потом пользуйтесь им, как "одной командой" (реализация вряд ли больше сотни
строк будет). Сделайте библиотеку. Посмотрите в нете готовые классы. Какие
ещё варианты могут быть?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / динамический стек !!!!!!!!!!!!!!!!!!!!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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