【问题标题】:ostream cout and char *ostream cout 和 char *
【发布时间】:2012-04-23 17:59:48
【问题描述】:

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

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

operatorcout<<arr; 第一个 arr 将衰减为聊天 * 。然后 operator

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

【问题讨论】:

标签: c++ char ostream


【解决方案1】:

您的ostreamistream 确实有operator&lt;&lt;operator&gt;&gt; 重载以采用char*,并且数组衰减为指向第一个元素的指针。所以,是的,它会按照你说的做。

【讨论】:

    【解决方案2】:

    cout 的工作方式完全相同。

    数组arr 衰减为指针类型,并且存在istream 的重载版本,它以char* 作为参数。所以arr 在衰减后以char* 的形式传递给operator&gt;&gt;

    【讨论】:

      【解决方案3】:

      有关cout 的详细信息,请参阅此处:Standard output stream。在此页面中,请单击并查看“ostream::operator<<”链接 同样,有关cin 的详细信息,请参见此处:Standard input stream。在这里,请点击查看“operator (>>)”链接

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        • 2017-01-18
        • 1970-01-01
        相关资源
        最近更新 更多