我是 C 编程新手,所以如果这听起来像是一件愚蠢的事情,请原谅我。
我有一个想法试图让我的代码更具可读性,这个想法是#define 逻辑运算符,例如#define OR ||.
如果有人可以指导我这是不好的还是好的做法,它是否常见等等......以及如果它有任何副作用,我将不胜感激。提前致谢。
该运算符和其他运算符的替代名称已经是标准 C 的一部分。使用#include <iso646.h>定义:
| 姓名 | 替代品 |
|---|---|
| 和 | && |
| 和_eq | &= |
| 比特兰 | & |
| 比托尔 | | |
| 复杂 | 〜 |
| 不是 | ! |
| 不_eq | != |
| 或者 | || |
| 或_eq | |= |
| 异或 | ^ |
| 异或方程 | ^= |
不。
AC 编码器应该像读简单的英语一样阅读这些运算符。而且,您不会对运算符 +、-、/ 和 * 执行相同的操作,对吧?逻辑学家不写或。他们使用符号。因此,只要习惯阅读它们即可。
if(x OR y)如果我在一段代码中看到这个表达式,我的第一个想法是“这一定是初学者”,而我的下一个想法是“他们做对了吗?使用了||还是他们使用了一个|?” 我最好检查一下以确定。
这是好的做法吗
我的意见是绝对不行
这很常见吗
不,因为大多数 C 程序员都同意我的观点
以及它是否有任何副作用
并不真地。它是一个宏,因此可以简单地剪切和粘贴。
只是为了完整性。它确实存在一个标准标头,可以执行您想要的操作iso646.h。但很少使用。在埃里克发布他的答案之前我从未见过它。因此,如果您想这样做,请使用该标头而不是重新发明轮子。