我何时将替代宏用于iso646.h头文件中的按位和逻辑运算符?

问题描述 投票:1回答:1

[我知道在iso646.h的标头中,定义了以下十一个marco常数以提供按位和逻辑运算符的替代描述:

[and&&的宏。

[and_eq&=的宏。

[bitand&的宏。

[bitor|的宏。

compl~的宏。

[not!的宏。

[not_eq!=的宏。

[or||的宏。

[or_eq|=的宏

[xor^的宏。

[xor_eq^=的宏。


但是我什么时候需要使用这些替代宏?

  • 在哪种情况下,我需要对iso646.h头文件中的按位和逻辑运算符使用替代宏?
c token compatibility bitwise-operators logical-operators
1个回答
1
投票

如果您的编码未实现完整的ASCII曲目,则应使用它:

C从ASCII代码集派生其库。不幸的是,ASCII库不是所有其他常用字符集的子集,并且在欧洲广泛使用的做法也不是全部实现ASCII,而是将其整理序列的某些部分用于特殊的国家字符。

该解决方案是国际商定的曲目,可以定义C的国际代表。 ISO已定义了这样的标准:ISO 646描述了ASCII的不变子集。

C使用的ASCII字符表中的字符,而ISO 646字符表中不存在的字符是:

    # [ ] { } \ | ~ ^

取自ANSI C Rationale, [2.2.1.1 Trigrah sequences]

这也是引入三字母组合的原因(在同一部分中有进一步解释)。>>

© www.soinside.com 2019 - 2024. All rights reserved.