LINUX.ORG.RU

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

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

Размер массива изменить нельзя. Размер слайса можно изменить только в меньшую сторону, либо в большую, но размер не может превышать capacity, а capacity изменить нельзя. Потому что и массивы, и слайсы — это обёртки над блоками памяти, а не над связными списками блоков или более сложными структурами. Если capacity не хватает, надо выделять новый массив. append делает это автоматически.

Мой код для этого на [:newsize] и append в цикле выглядит как говно.

А как он выглядит? Почему в цикле? append может и много элементов сразу присоединить.

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

Размер массива изменить нельзя. Размер слайса можно изменить только в меньшую сторону, либо в большую, но размер не может превышать capacity, а capacity изменить нельзя. Потому что и массивы, и слайсы — это обёртки над блоками памяти, а не над связными списками блоков или более сложными структурами. Если capacity не хватает, надо выделять новый массив. append делает это автоматически.

Мой код для этого на [:newsize] и append в цикле выглядит как говно.

А как он выглядит? Почему в цикле? append может и много жлементов сразу присоединить.