![]() |
1
101
This question (about the closely related digraphs) 答案是肯定的。
但是你必须记住,当你输入两个“?”字符时,你可能会开始一个三角图(当然我从来没有想过这件事)。 实际上,在日常生活中,我根本不担心三角图和有向图。但是你应该意识到它们,因为每隔几年你就会遇到一个与它们相关的bug(你会花一整天的时间诅咒它们的存在)。如果编译器可以配置为在遇到三元图或有向图时发出警告(或错误),这样我就可以知道我有什么事情需要处理。 为了完整性,有向图的危险性要小得多,因为它们被当作标记处理,所以字符串文本中的有向图不会被解释为有向图。 要了解C/C++程序中标点符号的各种乐趣(包括一个会让我毛骨悚然的trigraph bug),请看 Herb Sutter's GOTW #86 article 增编: 默认情况下,GCC似乎不会处理(并警告)三角图。其他一些编译器有关闭trigraph支持的选项(例如IBM的)。Microsoft开始支持VS2008中的警告(C4837),该警告必须显式启用(使用-Wall或其他方式)。 |
![]() |
2
26
|
![]() |
3
22
从…起
|
![]() |
4
15
它们用于缺少C++基本字符集中某些字符的系统。不用说,这样的系统极其罕见。 |
![]() |
5
9
在C++0x中,有人建议删除三角图。也就是说,支持它们的观点似乎仍然有很强的论据——参见C++委员会文件。 N2910 它讨论了这一点。显然,EBCDIC是需要它们的一个主要据点。 |
![]() |
6
5
他们正在使用PL/I-to-C编译器在PC机上编辑PL/I,他们希望在移回不支持花括号的大型机时代码能够正常工作。我建议他们可以使用宏,比如
如果他们真的想变得花哨,他们可以试试
然后程序看起来就像是用Pascal编写的。他们只是滑稽地看着我,一整天都不和我说话。我想我不会责怪他们
|
![]() |
7
3
|
|
8
3
一些欧洲键盘没有(没有?)像美国键盘那样拥有所有的标点符号,因为它们需要特殊字母字符的键。例如,瑞典键盘上的A形圈就是花括号所在的位置。
|
![]() |
9
2
他们在那里主要是出于历史原因。如今,大多数语言的大多数现代键盘都允许访问所有这些字符,但这曾经是一些欧洲键盘的一个问题。这就是三角图被发明的原因。 如果你不知道它们的用途,你就不应该使用它们。
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |