案例1 "hello" "world"
(无错误)
案例2 "hello"+"world"
(错误)
我知道+
运算符必须将其操作数之一设为string type
,而不是string literal
。
事实是,这两种情况都没有意义,因为我们可以把它包含在single literal
中!
为什么然后允许案例1!
答案 0 :(得分:5)
允许使用案例1,因为C ++基本上认为相邻的文字是相同的文字,即在解析的早期代码"hello" "world"
被转换为"helloworld"
。
答案 1 :(得分:0)
案例1,正如您所说的那样,是一种方便的方法,可以让字符串常量跨越多行或分解为易于识别的部分。
让你的生活更轻松。
假设+
与字符串常量一起使用时应具有相同的语义是错误的。特别是在C中,string
不是可用的类型。