#include <iostream>
int main()
{
int* i = 0;
int x = (*i);
std::cout << x;
}
выше программа будет сбой, когда я скомпилировать и запустить его с помощью Visual Studio 2010
и я знаю, что он выходит из строя, потому что я установить указатель на 0.Попытки доступа к пустому указателю
То, что я хотел бы знать, является доступ к null pointer
в C++, определенный в стандарте, или он не определен, и мне просто повезло, что моя программа потерпела крах из-за моего компилятора/компьютера/операционной системы.
Если определено, что C++ гарантирует мне, когда я пытаюсь и получить доступ к нулевому указателю?
Не определено. –
@ R.MartinhoFernandes Итак, я могу ожидать, что на некоторых компьютерах это не сработает? – Caesar
да, но вы также можете ожидать, что он отформатирует ваш жесткий диск на других – Laurijssen