LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу (которая больше и вообще предназначена специально для этого)?

Мне кажется, что автор треда употребляет какие-то специфические вещества... Я не понимаю смысла сего действа, разве что для архитектур, у которых нет кучи, только стек. Но даже для AVR'ок написан malloc (а для чего-то с ещё меньшими ресурсами, чем AVR, вероятно, не стоит использовать что-то сложнее Assembler).

Исправление KivApple, :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу (которая больше и вообще предназначена специально для этого)?

Мне кажется, что автор треда употребляет какие-то специфические вещества... Я не понимаю смысла сего действа, разве что для архитектур, у которых нет кучи, только стек. Но даже для AVR'ок написан malloc (а для чего-то с ещё меньшими возможностями архитектуры, чем AVR, вероятно, не стоит использовать что-то сложнее Assembler).

Исправление KivApple, :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу (которая больше и вообще предназначена специально для этого)?

Мне кажется, что автор треда употребляет какие-то специфические вещества... Я не понимаю смысла сего действа, разве что для архитектур, у которых нет кучи, только стек. Но даже для AVR'ок написан malloc.

Исправление KivApple, :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу (которая больше и вообще предназначена специально для этого)?

Мне кажется, что автор треда употребляет какие-то специфические вещества...

Исправление KivApple, :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу?

Мне кажется, что автор треда употребляет какие-то специфические вещества...

Исходная версия KivApple, :

Но можно сделать новый на месте или, на худой конец, после старого.

Я что-то не понял. В стеке выделяется столько места, сколько нужно для переменной. При расширении массива его размер, очевидно, растёт. Как его можно разместить НА МЕСТЕ предыдущего? А если размещать после, то старый никуда не денется. Будет перерасход памяти. А что если ты последовательно добавишь миллион элементов? Никакой оперативки не хватит, чтобы сохранить все предыдущие версии массива. А если их не сохранять, то нужен менеджер памяти. А если у нас есть менеджер памяти, то зачем ему использовать стек, а не кучу?