Bug N - incorrect arrays resizing

 
I use this code in MT4 178

int start() {
//create new array
double levels[0][1];

//get elements count in 1-st dimension
int dim = ArrayRange( levels, 0 ); //dim=0

//resize 1-st dimension by 5
ArrayResize( levels, dim + 5 );

//print current dimension
Print( ArrayRange( levels, 0 ) );
}

/*
output is:
5
10
15
20
25
.
.
*/


/*
but must be:
5
5
5
5
5
.
.

*/
 
A otvet mojno uslyshat' ?
Ili ya tak i budu sam s soboi...
Ne stesnyaites' sdes' vse svoi ;)
Ili neponyatna problema?

(p.s. russkogo netu na klave sei4as, sorry)
 
всё работает правильно, так задумано. перед перераспределением массива, проверяйте существующий размер массива. реализовано специально для уменьшения потерь на освобождение-выделение памяти и возникающей в связи с этим фрагментацией памяти