c ++为什么* / in quoted string结束多行注释

时间:2014-12-29 12:06:05

标签: string c++11 comments

我有以下代码:

/*
string x = "this is a */ test string"
*/

问题

为什么字符串中的*/"this is a */ test string结束多行注释,从而使代码无法编译?

注释

  1. 我知道如何克服这一点,但我更感兴趣的是为什么这样定义?
  2. 由于字符串转换而生成此问题。 使用此转换映射abcd转换此字符串a->1, b->*, c->/, d->2会生成此字符串1*/2,从而导致此问题(当在多行注释中定义字符串时)。

1 个答案:

答案 0 :(得分:1)

这只是因为评论中没有字符串。

评论内容没有结构:IIRC甚至没有标记。多行注释中唯一的特殊字符序列是*/,就是这样。

关于为什么,你会做什么呢?尝试将注释内容解析为C ++代码?什么会导致疯狂!