Re[5]: Как поймать изменения значения в массиве?
От: Demo  
Дата: 26.05.04 14:31
Оценка:
>>Подозреваю что ты в этом цикле работаешь с кучей буферов и где то вылазишь за границы, т.о. меняешь "чужые данные".
A>А вот об этом можно поконкретнее, даже отвлекаясь от темы если надо. Ведь если я напишу что-то вроде

A>
A>int *FirstArray = new int[5];
A>int *SecondArray = new int[10];
A>FirstArray[7]=x;
A>


A>это не вызовет изменения SecondArray, а приведет к вылету в строке FirstArray[7]=x ... или я не прав и действительно подобным образом можно изменить SecondArray (или что-то расположенное в памяти за FirstArray).


Практически можно изменить и второй массив... В С++ нет контроля границ массива, т.е. в данном случае происходит просто запись в "какую-то" область памяти, если эта область принадлежит второму массиву, то изменится он, если она вообще не является областью доступной для записи, то это вызовет исключение...

Очень плохой код...
Demo
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.