C++中空指针能直接用cout输出吗?

请问大家:能输出空指针吗?
编译器没有报错但是结果显示这样。

#include<iostream>
int main()
{
    int v1=10;
    int *p1=&v1;
    *p1=100;
    p1=0;
    std::cout<<v1<<" "<<*p1<<std::endl;
    return 0;
}

Process returned -1073741819 (0xC0000005) execution time : 17.802 s
Press any key to continue.

希望大神解答,谢谢各位!

可以输出空指针本身,但是,用 *p1 就不行,会导致访问无效地址而报错。