История изменений
Исправление hateyoufeel, (текущая версия) :
Ну так он заоптимизурует, если там действительно данные по ptr есть (либо сам подставит).
Нет. Он заоптимизирует, потому что в стандарте написано, что при ptr==NULL возникает неопределённое поведение, а значит такой случай можно не рассматривать.
#include <iostream>
#include <string>
std::string f(int *p)
{
int i = *p;
if(p == NULL)
return "null";
return "not null";
}
int main()
{
std::cout << f(NULL) << std::endl;
}
$ g++ null.cc -O2 -o null
$ ./null
not null
Исходная версия hateyoufeel, :
Ну так он заоптимизурует, если там действительно данные по ptr есть (либо сам подставит).
Нет. Он заоптимизирует, потому что в стандарте написано, что при ptr==NULL возникает неопределённое поведение, а значит такой случай можно не рассматривать.