История изменений
Исправление alysnix, (текущая версия) :
Аналогично с указателем, ну не смешите, это не место для оптимизаций.
компилятор вообще не заботится о значении указателя. он исходит их того, что есть рантаймовая проверка валидности, и смело генерит код для валидного указателя.
ну если только не было неинициализированного указателя, и последующей попытки по нему обратиться. тогда за счет попытки понять семантику хотя бы локально, он может ругнуться. например такая штука проходит и в gcc и в clang-11(хотя могла б и не проходить :) )
void ff(){
int *ptr = nullptr;
*ptr=0;
}
Исходная версия alysnix, :
Аналогично с указателем, ну не смешите, это не место для оптимизаций.
компилятор вообще не заботится о значении указателя. он исходит их того, что есть рантаймовая проверка валидности, и смело генерит код для валидного указателя.