这是一个简单的例子。
void func()
{
int* p = nullptr;
if(p == nullptr)
{
int n;
p = &n;
}
*p = 10; // undefined behavior??
}
int main()
{
func();
}
Run Code Online (Sandbox Code Playgroud)
没有complie警告(visual studio 2019),以这种方式使用“* p = 10”是“未定义的行为”吗?
它会因编译器、调试或发布而异吗?