2012-09-20 41 views
-3

可能重複文字串:
concatenation of two string literals級聯用+和空間

案例1"hello" "world"(無差錯)

案例2"hello"+"world"(ERROR )

我知道+操作符必須具有其操作數string type而不是​​。

事情是,這兩種情況都沒有意義,因爲我們可以將它包括在single literal

爲什麼情況1允許然後!

回答

5

情況1是允許的,因爲C++基本上認爲相鄰文字是相同的文字,即代碼"hello" "world"在分析中被轉換爲"helloworld"

+0

oh..so愚蠢的我忘了tht..thxx – Anirudha

0

如您所說,情況1是讓字符串常量跨越多行或將其分解爲易識別部分的一種便捷方式。

它在那裏讓你的生活更輕鬆。

假設+與字符串常量一起使用時應該具有相同的語義是一個錯誤。特別是在C中,string不是可用的類型。