64,647
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
void main()
{
char a[]="How a you!";
cout<<"a="<<a<<endl;
char c[]={'H','o','w',' ','a',' ','y','o','u','!','\0'};
cout<<"c="<<c<<endl;
int b[]={1,2,3,4,5,6,7,8,9};
cout<<"b="<<b<<endl;
}
晓风说得没错,你好好理解一下
因为cout对const char*重载了operator <<
template<class charT, class traits>
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&,
const char*);
// partial specializationss
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&,
const char*);
// signed and unsigned
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&,
const signed char*);
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&,
const unsigned char*);
template <class E, class T = char_traits<E> >
class basic_ostream {
public:
....
basic_ostream& operator<<(const char *s);//输出字符数组时,就把首地址转换成char*p的。
....
};