ostream cout and char *

前端 未结 3 1430
醉话见心
醉话见心 2021-01-27 13:57

I have an array of chars like this one:

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

So is the operator<< has an

相关标签:
3条回答
  • 2021-01-27 14:21

    Please see here for details on cout: Standard output stream. Whilst in this page, please click and see the link that says "ostream::operator<<" Likewise see here for details on cin: Standard input stream. Whilst here, please click and see the link that says "operator (>>)"

    0 讨论(0)
  • 2021-01-27 14:31

    Exactly in the same way as cout works.

    The array arr decays into pointer type, and there exists an overloaded version of istream as well which takes char* as argument. So arr gets passed to the operator>> as char* after decaying.

    0 讨论(0)
  • 2021-01-27 14:32

    Your ostream and istream do have operator<< and operator>> overloaded to take a char*, and arrays decay into pointers to the first element. So, yes it does what you say it does.

    0 讨论(0)
提交回复
热议问题