当将字符串对象用于需要的变量和参数时#include <string>
,又为什么不将其用于字符串文字呢?例如,您可以说cout << "This is a string literal";
没有#include <string>
。
我正在使用Deitel Brothers的书学习C ++,并且在学习字符数组时想到了这个问题。
字符串文字不是std::string
对象,而是的数组const char
。
"This is a string literal"
具有类型const char[25]
。
在大多数情况下(包括该情况),数组会隐式衰减为指向其第一个元素的指针,并且有一个operator<<
重载const char*
。
在C ++中,“字符串”的含义有些不同,这非常令人困惑,但是过一会儿(然后拔头发和咬牙切齿),预期的含义就会从上下文中弄清楚了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句