下面的代码显示了整个字符串。我很困惑为什么这样做。
char test[] = "jeff";
cout<<test<<endl;
输出是“ Jeff”,我期望它打印char数组“ test”的值,因为test是指针,指针是第一个元素“ J”。
为什么我会打印整个字符串cout<<test
?
由于operator<< (basic_ostream<charT,traits>& os, const char* s);
(该列表中的#2“字符序列”)(技术性稍强的列表)。test
衰减到一个指针或char*
,然后将其打印为C字符串。
这与cout << "Jeff";
工作原理完全相同(而不是打印的地址"Jeff"
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句