This wikepedia page将 c++ 定义为“空白独立语言”。虽然与所有语言一样,大多数情况下都是如此,但也有异常(exception)。目前我唯一能想到的是:
vector<vector<double> >
必须有一个空格,否则编译器会将 >> 解释为流运算符。周围还有什么。编制一份异常(exception) list 会很有趣。
最佳答案
按照该逻辑,您可以使用任何两个字符的词素来产生规则的此类“异常(exception)”。例如,+=
和 + =
会有不同的解释。不过,我不会称它们为异常(exception)。在 C++ 中,在许多上下文中,“根本没有空格”与“一个或多个空格”有很大不同。当有人说 C++ 是空间无关的时,他们通常是指 C++ 中的“一个空间”通常与“多个空间”相同。
这反射(reflect)在语言规范中,其中指出(参见 2.1/1)在翻译的第 3 阶段,允许实现用一个空格字符替换多个空白字符的序列。
关于c++是一种与空格无关的语言,规则的异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12293205/