一个指针的不解

一个指针的疑惑
main()
{
    char *a="hi";
    cout<<a;
}
此输出输出hi,为什么不是指针a的值?

------解决方案--------------------
没有对
ostream& operator << (void*) 的重载
却有
ostream& operator << (const char *)的重载