Возможный дубликат:
Возьмите адрес элемента массива "один за прошлым" через индекс: легальный по стандарту С++ или нет?
int array[10];
int* a = array + 10; // well-defined
int* b = &array[10]; // not sure...
Является ли последняя строка действительной или нет?