I have seen it asserted several times now that the following code is not allowed by the C++ Standard:
int array; int *array_begin = &array; int *array_end = &array;
&array legal C++ code in this context?
I would like an answer with a reference to the Standard if possible.
It would also be interesting to know if it meets the C standard. And if it isn't standard C++, why was the decision made to treat it differently from
array + 5 or
&array + 1?