Флейм нижний натолкнул...
Человек задал чисто дилетанский вопрос о выходе за границы массива и отладке такой программы написаной на языке C.
Видимо все кто начинал изучать этот язык сталкивались с такой проблемой. Но всегда давался такой ответ "в языке C нет автоматического средства решения этой проблемы. Программист сам отвечает за то что бы она не возникла." И этот подход верен. Уверен что программист со сдажем 1год такой ошибки не допустит, не говоря уж о большем стаже. Если допускает, то какой-же он программист :)
Это раз.
Два: использование различных сейф указателей - из пушки по воробьям. Кода много (а сколько его в рантайме, если еще и темплейты !), исходник не читаем, а толку - всего то надо было окуратней написать используя обычный указатель (массив).
ИМО для чего создали все эти сейф указатели и пр.:
Что бы снять денег. Всякая работа что-то стоит. И нужно было лишь убедить руководство, что это не обходимо, посидеть пару недель и ехать в отпуск с полным кошельком.
Если есть фанаты пишущие на неповоротливых классах, где можно разойтись чистым C, то мой вам вопрос: а почему бы вам не писать на паскале ? Там компилер все за вас сделает.
Классы хороши в больших проектах (и то не во всех), но int a[1]; a[1]=3; для этого приплетать ООП... !!!
Ребят, кажись нам пора в отпуск :)