关于???-在C++代码中的含义

meaning of `???-` in C++ code

本问题已经有最佳答案,请猛点这里访问。

我从一些旧代码中看到了以下代码:

1
 size_t a = 1 ???- 2 :0;

C++中符号EDOCX1 0是什么意思?我该如何理解?

谢谢您!


事实上:

1
size_t a = 1 ? ~2 :0;

??-~的三角图。

三角学是一个古老的时代…在我们中的一些人出生之前。

以前,有些字符并不总是受支持。一个不知道的程序员会试图输入这样一个字符,结果却发现它不在键盘上!

enter image description here图片来源:http://www.myoldmac.net/cgi-data/forum/phpbb2/viewtopic.php?t=305</Sub>

因此添加了三角图,允许程序员在这些字符不存在时(无论是在编码中还是在键盘上)访问它们的功能。

现在,它们已经过时了,在混淆读者方面比绕过旧标准更有效。

所以,要么代码真的很旧,要么作者是个混蛋。


??-是tilde ~字符的三角图;该行相当于:

1
size_t a = 1 ? ~2 :0;


??-~字符的一个三角图。其他一些三角图包括:

1
2
3
4
5
6
7
 ??= for #

??/ for \

??' for ^

??! for |

现在很少使用三角图。