C++Primer P237问题 :string filt_elems( "\",.;:!?)(\\/" ); 表示什么意思啊?书上的解释好像不对啊!!!
书上这样解释的:
\"和\\序列表示第一个序列中的引号和第二个序列中的第二个反斜杠被视为该字符串中的文字元素而不是字符串的结尾或下一行的续行符号
没大看懂,说的啥啊,后面那个括号表示什么意思
问题点数:20、回复次数:5Top
1 楼Jinhao(辣子鸡丁·GAME就这样OVER了)回复于 2004-01-03 20:20:34 得分 18
你被骗了,书上说的是对的
string filt_elems( "\",.;:!?)(\\/" ); //这里只有一个括号
里面的字符串是用[]表示字符
("
[\"]
[,]
[.]
[;]
[:]
[!]
[?]
[)]
[(]
[\\]
[/]
")Top
2 楼Jinhao(辣子鸡丁·GAME就这样OVER了)回复于 2004-01-03 20:23:50 得分 0
\和"是C++的保留字符,如果要在字符串中使用这些字符就要用 转义操作符所以成了 \\ 和 \"Top
3 楼ntxs(别人加薪我加班,数钱数到心发酸T_T)回复于 2004-01-03 20:27:20 得分 0
( "\",.;:!?)(\\/" )
你是在做 单词排除集 那段吧。
我的理解:
", . ; : ! ? \\ 这些都被看作是文字元素(也就是当成标点) 属于要排除的
"\……/" 相当于某个特殊标记 在标记内出现的就是属于要排除的
我这样的理解正确吗? 请楼下指正Top
4 楼Jinhao(辣子鸡丁·GAME就这样OVER了)回复于 2004-01-03 20:32:26 得分 0
楼上兄弟,sorry,不能这样理解,C++中没有这个"\……/"
这个东西会被解释成 ……/Top
5 楼Wolf0403(废人:独活十年~心如刀割)回复于 2004-01-03 20:49:07 得分 2
string filt_elems( "\",.;:!?)(\\/" ) 改成
string filt_elems = "\",.;:!?)(\\/";
这样明白了没?
\ 只对之后的一个字符起作用Top




