> -- GUEST писал(а):
> При том. Перечитайте тему ещё раз.

Блин. Еще раз. Длякривого исходного кодакомпилятор может генерить кривой код. Этоявнооговорено в спецификации языка. Это сделано для того, чтобы длянормальногокода у компилятора было больше простора в оптимизации. Нормальный подход для языка с претензией на максимальную эффективность.
Вот еще пример:
## Код:
```
int *p1 = NULL;
int &r = *p1;
int *p2 = &r;
assert(!p2);
```


Этот код будет работать на большинстве платформ/компиляторах. Тем не менее, этокривойкод, и если на очередной платформе или версии компилятора он перестанет работать - винить можно только криворукого программера.