关于C/C++的trigraphs和Digraphs
生活随笔
收集整理的這篇文章主要介紹了
关于C/C++的trigraphs和Digraphs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
仔細看了看wiki
當初因為iso646的標準,部分國家打不出# ~ ^ 之類的字符,所以使用??加一個字符替代。
| ??= | # |
| ??/ | \ |
| ??' | ^ |
| ??( | [ |
| ??) | ] |
| ??! | | |
| ??< | { |
| ??> | } |
| ??- | ~ |
后來在c99加入了digraphs
| <: | [ |
| :> | ] |
| <% | { |
| %> | } |
| %: | # |
然后目前,gcc編譯trigraphs 要使用-trigraphs 且未使用會警告。
如果-ansi 會默認加上-trigraphs。
c++或者c中的iso646.h還支持這個
| %:%: | ## |
| compl | ~ |
| not | ! |
| bitand | & |
| bitor | | |
| and | && |
| or | || |
| xor | ^ |
| and_eq | &= |
| or_eq | |= |
| xor_eq | ^= |
| not_eq | != |
所以當初lez大佬發現的那個東西是有名字的。。。
?
在c++11,trigraphs被建議不使用,c++17中,被棄用了。
?
參考:https://en.wikipedia.org/wiki/Digraphs_and_trigraphs
轉載于:https://www.cnblogs.com/be-the-std/p/7728029.html
總結
以上是生活随笔為你收集整理的关于C/C++的trigraphs和Digraphs的全部內容,希望文章能夠幫你解決所遇到的問題。