Я знаю, что это будет очень плохой стиль кодирования, но следующий код отлично работает на моей машине. Но хорошо ли это поведение? Портативный?
int main()
{
int *p = new int[3];
int *q = &p[2];
q[-1] = 41;
std::cout << p[1];
delete[] p;
}