首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时需要在I 646.h的头文件中为按位和逻辑运算符使用替代宏?

何时需要在I 646.h的头文件中为按位和逻辑运算符使用替代宏?
EN

Stack Overflow用户
提问于 2020-02-02 14:33:58
回答 1查看 119关注 0票数 2

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

and&&的宏。

and_eq&=的宏。

bitand&的宏。

bitor|的宏。

compl~的宏。

not!的宏。

not_eq!=的宏。

or||的宏。

or_eq|=的宏

xor^的宏。

xor_eq^=的宏。

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

  • 在何种情况下,我需要在iso646.h的头文件中为按位运算符和逻辑运算符使用替代宏
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-02 14:43:56

如果您的编码没有实现完整的ASCII汇辑,您应该使用它:

C从ASCII代码集派生其汇辑。不幸的是,ASCII汇辑并不是所有其他常用字符集的子集,欧洲的普遍做法也不是实现ASCII的全部,而是使用其核对序列的某些部分作为特殊的民族字符。 解决办法是国际商定的“汇辑”,据此可以确定C的国际代表性。ISO定义了这样一个标准: ISO 646描述了ASCII的一个不变子集。 C所使用的ASCII汇辑中没有出现在ISO 646汇辑中的字符是: # [ ] { } \ | ~ ^

摘自http://port70.net/%7Ensz/c/c89/rationale/b.html#ISO-646-2-2-1-1

正如@chqrlie所指出的,在1980年代,这是一个需要考虑的重要问题,但今天的重要性要小得多。

这也是引入曲线图的原因(在同一节中将进一步解释)。因此,当使用非ASCII编码时,iso646.h中的宏将被它们的曲线图版本所取代。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60027096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档