char *p = "Hello,World!";
cout << p << endl; //输出Hello,World!
cout << *p << endl; //输出H
正确输出:cout << (void *)p << endl;
************************************************************************************************************************************
一:原理分析及实现方法
上面的操作并不能达到我们想要的效果,
这主要是因为C++中对输出运算符进行了指定参数的重载;
对于第一种输出,对于传入的char型指针,运算符默认被重载输出‘\0’之前的所有字符:
ostream& operator << (ostream& output, char *c)
{
while (*c != '\0')
{
output << *c;
c = c + sizeof(char);
}
return output;
}
对于第二种则是直接输出一个char型数据;
理解了重载的原理,我们可以将传入的参