相关疑难解决方法(0)

C++中Trigraph序列的目的是什么?

根据C++'03标准2.3/1:

在进行任何其他处理之前,每个出现的以下三个字符序列之一("三字符序列")被表1中指示的单个字符替换.

----------------------------------------------------------------------------
| trigraph | replacement | trigraph | replacement | trigraph | replacement |
----------------------------------------------------------------------------
| ??=      | #           | ??(      | [           | ??<      | {           |
| ??/      | \           | ??)      | ]           | ??>      | }           |
| ??’      | ˆ           | ??!      | |           | ??-      | ˜           |
----------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

在现实生活中,这意味着代码printf( "What??!\n" );将导致打印,What|因为??!是一个被|字符替换的三字符序列.

我的问题是使用三字母的目的是什么?使用三字母有什么实际优势吗?

UPD:在答案中提到一些欧洲键盘没有所有标点字符,所以非美国程序员必须在日常生活中使用三字母组合?

UPD2:Visual Studio 2010默认情况下关闭了三字母支持.

c++ trigraphs c++03

119
推荐指数
6
解决办法
4万
查看次数

什么??(??)在C中表示iSeries

我的任务是将C程序从iSeries/AS400转换为.NET.从我看过C开始已经有一段时间了,之前我从未在iSeries上使用过C语言.我看到的东西如

main(int argc, char *argv ??(??))

我不确定是什么?是为了.根据这里的用法,我会假设它是针对数组的,但是在我走错路之前要确保它.

c

4
推荐指数
1
解决办法
176
查看次数

标签 统计

c ×1

c++ ×1

c++03 ×1

trigraphs ×1