Re[7]: Как поймать изменения значения в массиве?
От: Demo  
Дата: 26.05.04 15:27
Оценка: 3 (2)
Здравствуйте, Aleks, Вы писали:

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

A>А что являеться областью НЕ доступной для записи ... проге доступна только та память которую она сама и выделяла или не только?

Ну, вообще процессу доступна вся его виртуальная память, в том смысле, что он может обратиться по любому из 32-разрядных адресов... Другое дело, что находится в памяти по данному адресу...

D>>Очень плохой код...

A>Где-то именно такой код я видимо и написал. Что в принципе не мудрено когда на каждом шагу такое
A>pIndicators[QIndicator[i]] ... все таки маловато ассертов я похоже написал .

Можно инкапсулировать массив в классе, который будет контролировать корректность индекса при обращениях...
Но это уже тяжелая артилерия...
В простом случае: ASSERT в критических точках, дамп памяти на экран и дебагер в работу...
Demo
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.