Я уже несколько раз утверждал, что следующий код не разрешен стандартом C ++:
int array[5];
int *array_begin = &array[0];
int *array_end = &array[5];
Является ли &array[5]
допустимым кодом C ++ в этом контексте?
Я бы хотел получить ответ со ссылкой на стандарт, если это возможно.
Было бы также интересно узнать, соответствует ли он стандарту С. И если это не стандартный C ++, почему было принято решение рассматривать его иначе, чем array + 5
или &array[4] + 1
?