#include <iostream>
int main()
{
int* i = 0;
int x = (*i);
std::cout << x;
}
上面的程序在我编译和运行它时会崩溃Visual Studio 2010
,我知道它会崩溃,因为我将指针设置为 0。
我想知道的是,访问null pointer
标准中定义的 C++ 中的 a 还是未定义的,我碰巧幸运的是我的程序由于我的编译器/计算机/操作系统而崩溃
如果已定义,当我尝试访问空指针时,C++ 向我保证什么?