0

我有一个这样的字符数组:

char arr[3]="hi";
cout << arr;// this will print out hi

operator<< 也有一个重载版本,它接受一个 ostream 对象和 char *。所以cout<<arr;第一个 arr 将衰减为聊天 * 。然后 operator<<() 将打印出 char 指针指向的内容,直到找到空字符?

cin>>arr;关于它如何与将数组作为第二个操作数的 operator>> 一起使用的相同问题。

4

3 回答 3

1

你的ostreamand istreamdo haveoperator<<并且operator>>重载了 a char*,并且数组衰减为指向第一个元素的指针。所以,是的,它按照你说的做。

于 2012-04-23T18:03:25.770 回答
1

和作品完全一样cout

数组arr衰减为指针类型,并且存在作为参数的istreamas well的重载版本。char*所以在腐烂后arr传递给operator>>as 。char*

于 2012-04-23T18:02:51.623 回答
0

请参阅此处了解有关以下内容的详细信息cout标准输出流。在此页面中,请单击并查看显示“ ostream::operator<< ”的链接,同样请参阅此处了解有关cin标准输入流的详细信息。虽然在这里,请点击并查看“运营商(>>) ”链接

于 2012-04-23T18:07:11.227 回答