Как я понимаю, инструкция &arr[N] используется только на чтение для определения дошел
ли итератор for_each до конца массива. Но фактически это обращение за пределы массива
и даже попытка чтения адреса может вызвать access violation.
На VC++7.1 все нормально выполняется.
Посоветуйте, насколько корректна такая форма вызова и не ли тут каких-нибудь тонких моментов?