Range Checking

Extraterrestrial

Well-Known Member
28.02.2008
266
0
#1
Я очень давно не пользовался C++ и MS Visual Studio, может быть, кто-нибудь подскажет по следующим вопросам? Заранее спасибо.
Что такое range checking in debug mode? Это только для STL работает? Как я понял речь о том, когда индекс за пределы выходит возможных значений.
А вот как отловить например событие, когда значение переменной выходит за пределы возможных значений (например, переменной типа short вдруг присваивается значение 100 000) или когда у массива индекс выходит за пределы возможных значений? Я попробовал, у меня компилятор ничего не сообщает, программа работает, но выдает какие-то левые значения для этой переменной и для несуществующего элемента массива. Причем, никаких ошибок. Блоком catch это можно поймать? Автоматически exception не генерится?
Какие компиляторы наиболее удобные для отлавливания всяких нехороших вещей в коде?