LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Аналогично с указателем, ну не смешите, это не место для оптимизаций.

компилятор вообще не заботится о значении указателя. он исходит их того, что есть рантаймовая проверка валидности, и смело генерит код для валидного указателя.

ну если только не было неинициализированного указателя, и последующей попытки по нему обратиться. тогда за счет попытки понять семантику хотя бы локально, он может ругнуться. например такая штука проходит и в gcc и в clang-11(хотя могла б и не проходить :) )

void ff(){
  int *ptr = nullptr;
  *ptr=0;
}

Исходная версия alysnix, :

Аналогично с указателем, ну не смешите, это не место для оптимизаций.

компилятор вообще не заботится о значении указателя. он исходит их того, что есть рантаймовая проверка валидности, и смело генерит код для валидного указателя.