Вверх ↑
Разработчик
Ответов: 26160
Рейтинг: 2127
#1: 2012-04-11 17:34:59 ЛС | профиль | цитата
А как тогда вот это объяснить -- http://www.delphimaster.ru/cgi-bin/forum.pl?id=1307429189&n=0
------------ Дoбавленo в 17.28:
Tad писал(а):
Скакание только когда нет места для расширения массива

Как ты читаешь, понятия не имею
nesco писал(а):
И може наступить момент, когда получишь вот такой ответ -- Out Of Memory. Такие случаи встречались при форсированном использовании динамического массива в сторону увеличения размера


------------ Дoбавленo в 17.34:
Tad писал(а):
Кстати, для обработки и строк и массивов применяются одни и те же алгоритмы потому, что они распологаются именно в непрерывной физической памяти

Для выделения непрерывного физического участка памяти, необходимо выделить этот участок в куче, если он есть, то туда копируется твой массив, и его размер увеличивается, предыдущий участок очищается. Предположим, ты постоянно увеличиваешь массив, пустые куски остаются никому не нужными, ну не запрашиваешь ты ничего, кроме изменения массива, и вот наступает момент, когда нужный кусок выделен быть не может, что ты получишть в ответ
По-хорошему, надо регулярно дефрагментировать память, тогда не будет никаких приколов с выделением памяти при использовании динамических массивов
карма: 22

1
Голосовали:login