为什么在C++中有替代令牌?

roi*_*oim 2 c++ ansi

可能重复:
为什么C和C++中有有向图?
什么是C ??!??!运营商呢?!

在C++中,有[]和{}等替代令牌.

例如,以下代码编译:

%:include <stdio.h>
int main() <%
    printf("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)

我想了一会儿却想不出任何适用性,这有什么合理的理由吗?

pax*_*blo 7

真的,他们是C的宿醉.有C的实现,其中并非所有字符都可用(例如没有方括号的EBCDIC的某些变体).

C99理由文件,部分5.2.1.1 Trigraph sequences有这样的说法:

在C89中引入Trigraph序列作为一些字符的替代拼写,以允许在不提供足够数量的非字母图形的字符集中实现C.

被C从ISO/IEC 646不变剧目使用,并且不存在在ASCII剧目字符是#,[,],{,},\,|,~,和^

  • 这实际上是键盘的问题,而不是字符集.我清楚地记得没有{和}键的旧苹果. (3认同)