我有一个这样的字符数组:
char arr[3]="hi";
cout << arr;// this will print out hi
operator<< 也有一个重载版本,它接受一个 ostream 对象和 char *。所以cout<<arr;
第一个 arr 将衰减为聊天 * 。然后 operator<<() 将打印出 char 指针指向的内容,直到找到空字符?
cin>>arr;
关于它如何与将数组作为第二个操作数的 operator>> 一起使用的相同问题。
你的ostream
and istream
do haveoperator<<
并且operator>>
重载了 a char*
,并且数组衰减为指向第一个元素的指针。所以,是的,它按照你说的做。
和作品完全一样cout
。
数组arr
衰减为指针类型,并且存在作为参数的istream
as well的重载版本。char*
所以在腐烂后arr
传递给operator>>
as 。char*
请参阅此处了解有关以下内容的详细信息cout
:标准输出流。在此页面中,请单击并查看显示“ ostream::operator<< ”的链接,同样请参阅此处了解有关cin
:标准输入流的详细信息。虽然在这里,请点击并查看“运营商(>>) ”链接