使用+和空格连接字符串与文字

时间:2012-09-20 09:45:51

标签: c++

  

可能重复:
  concatenation of two string literals

案例1 "hello" "world"(无错误)

案例2 "hello"+"world"(错误)

我知道+运算符必须将其操作数之一设为string type,而不是string literal

事实是,这两种情况都没有意义,因为我们可以把它包含在single literal中!

为什么然后允许案例1!

2 个答案:

答案 0 :(得分:5)

允许使用案例1,因为C ++基本上认为相邻的文字是相同的文字,即在解析的早期代码"hello" "world"被转换为"helloworld"

答案 1 :(得分:0)

案例1,正如您所说的那样,是一种方便的方法,可以让字符串常量跨越多行或分解为易于识别的部分。

让你的生活更轻松。

假设+与字符串常量一起使用时应具有相同的语义是错误的。特别是在C中,string不是可用的类型。