c ++ primer第4版 - 字​​符串问题

时间:2011-03-28 00:37:48

标签: c++

我正在阅读本书中关于字符串和文字的第86页,我不明白为什么它会对字符串s1和s2进行以下说明。

string s1("hello, ");  
string s2("world\n");  
string s3 = s1+s2;  
..

它表示s1s2直接包含标点符号。标点?什么标点符号。

另见第87页。

string s1 = "hello"; // no punctuation. Again what punctuation?

任何人都可以解释一下吗?

3 个答案:

答案 0 :(得分:3)

我实际上进去看了看这本书。作者正在考虑“,”和“\ n”是“标点符号”。

第86页的下一句话说:

The strings s1 and s2 included punctuation directly. 
We could achieve the same result by mixing string objects 
and string literals as follows:

string s1("hello");
string s2("world");
string s3 = s1 + ", " + s2 + "\n";

- 丹

答案 1 :(得分:2)

据推测,作者意味着逗号,和换行符\n是标点符号。

答案 2 :(得分:1)

Keith和Jason的回答是正确的,指的是“逗号”标点符号。在s1中,“,”包含在“你好”中。这也可以写成: string s3 = s1 +“,”+ s2 +“\ n”;分隔标点符号

编辑 - 看起来Dan已经发布了相同的答案。