tutorialspoint significado pointer objects array c++ pointers pointer-arithmetic

significado - ¿El puntero "one-past-the-end" de un tipo que no sea de matriz es un concepto válido en C++?



pointers to pointers in c (1)

No, es legal 5.7 (4) - un párrafo antes de su cita - dice: "A los fines de estos operadores, un puntero a un objeto nonarray se comporta igual que un puntero al primer elemento de una matriz de longitud uno con el tipo del objeto como su tipo de elemento ".

El estándar de C ++ [sec 5.7] dice:

Si tanto el operando del puntero como el resultado apuntan a elementos del mismo objeto del arreglo, o uno más allá del último elemento del objeto del arreglo, la evaluación no producirá un desbordamiento; de lo contrario, el comportamiento no está definido.

Entonces, ¿estoy en lo cierto al suponer que los punteros de otro tipo que los arrays no están definidos?

Por ejemplo:

int a = 0; vector<int> v(&a, (&a)+1);

El fragmento de arriba compila y funciona bien (con g ++), pero ¿es válido?