符号运算符与单词运算符,例如(';|';vs&';或';和';vs';非';) 我认为代码>是C++中的关键字。

符号运算符与单词运算符,例如(';|';vs&';或';和';vs';非';) 我认为代码>是C++中的关键字。,c++,C++,这可能是因为我最近编写了太多python代码,但我发现或比|和xor可读性比^好得多 使用单词替代符号运算符是个好主意吗? 为什么我看不到它们被更多地使用?令人不满意的答案是,你应该使用符号运算符,因为其他人都使用符号运算符 一个可能更合理的理由是,它们在代码的其余部分中更为突出。这些关键字仅适用于不能处理特殊字符的终端。、&等。它们是否构成更具可读性的代码尚待讨论 如果您知道| |的意思,那么或的可读性并不比|强。如果你知道C++的基本原理,即语法,那么在我的拙见中,一个比另一个更难读。 P>

这可能是因为我最近编写了太多python代码,但我发现
|
xor
可读性比
^
好得多

使用单词替代符号运算符是个好主意吗?

为什么我看不到它们被更多地使用?

令人不满意的答案是,你应该使用符号运算符,因为其他人都使用符号运算符


一个可能更合理的理由是,它们在代码的其余部分中更为突出。

这些关键字仅适用于不能处理特殊字符的终端。
&
等。它们是否构成更具可读性的代码尚待讨论

如果您知道
| |
的意思,那么
的可读性并不比
|
强。如果你知道C++的基本原理,即语法,那么在我的拙见中,一个比另一个更难读。 P> C++程序员在大多数情况下都使用关键词的特殊字符替代。因此,在一个项目中不作为例外通常是个好主意,除非你正在启动一个项目并制定规则

使用符号运算符的替代词是一个好主意吗

完全取决于代码的目标受众——包括人员和工具。人们可能不习惯它们,有些工具无法识别它们。(有时这些工具用于将它们定义为宏。)

<>我开始使用“and”和“or”,尤其是在C++和Python之间切换时,它更可读。语言之间的额外一致性比我最初认为的更重要,但更重要的是,&&和| |是控制结构,而不是运算符(即短路),因此它们与运算符不同

(是的,从技术上讲,它们是C++中的运算符,但是它们比I+OR、Read、Stand等更类似于+、-*、*和其他运算符。逗号和条件运算符都是类似的控制结构,而且它可能不是巧合,它们常常比单独的语句和I/R,R更容易混淆,或者至少不可读。(分别地)


<>但是,我很少在新的代码中使用它们,例如,因为我还没有遇到一个问题,在这个问题上,把这个问题比C++读者更容易理解。

< P> <代码> <代码>是你如何说“布尔”还是“怎么说”?在C++中,如果你真的写了“代码>或代码”,你会把代码的读者弄糊涂,即使你能让编译器接受它。 我确实对你的论点有同情心,老实说。C++代码真的很难看(而且很难遵循),因为它依赖于符号符号的线噪声。但是这是C++哲学。如果你想要好的英语可重写代码,C++不是你的语言。试试。
我在这里是认真的。艾达在很多方面都是一种更好的语言。这是其中一种。但是如果你要坚持C++,你就必须去用它。在C++中尝试写艾达(或Pascal)与在艾达中尝试写C++或FORTRAN不太好。

< P>每个C++程序员都知道关于代码> &和<代码>和<代码> < <代码> > < /P> 并非所有的C++程序员都知道,<>代码>和<代码>和<代码>或是合法的替代方案。 仅出于这个原因,你最好还是坚持使用常用的方法


这很容易习惯,所以我想说这没什么大不了的,也绝对不值得让你的代码读者感到困惑。

我的第一个问题是
按位或
布尔快捷方式或

我敢打赌,我的团队中有五六个人必须去查一下

所以我认为最好还是坚持标准惯例,

因为这正是人们所习惯的。编程的全部要点是不含糊不清。

这些关键字是1995年添加到标准(标准C)中的替代标记。
。请参阅此处的详细信息

添加关键字的原因:

替代标记允许程序员使用C语言的位运算符和逻辑运算符,否则在某些国际和非QWERTY键盘上很难键入这些运算符

它们是如何添加的:

它们作为C标准库中的一组宏常量在
iso646.h
标题中实现

iso646.h
标题定义了11个宏,包括

那么C++呢:

<> >上述标识符是 ISO C++编程语言< /> >中的操作关键字,不需要包含头文件。一致性方面, C++ 98标准提供了头<代码> <代码>。但是,后者文件没有效果,是空的。< /P>
因此,在C/C++语言中使用关键字是有历史原因的,这与更好的使用无关。如上所述,您应该坚持编码惯例。

更多的空间和键入也是有争议的:shift-7 shift-7对我来说并不比a-n-d更容易(也不难),或者“不比”| |”呃…不。
|
的字符数是相同的。即使不是,“字符数”也是一个非常蹩脚的参数。如果这很重要,那么我们应该从逻辑上摆脱所有的英语关键字(
成本
静态
,等等),转而使用sybmols(
$
?)谢谢,编辑。也许我应该说,如果你发现“代码>< < /代码>”是不可理解的,那么你不应该用C++(或C语言)来编码。“我同意。事实上,这是我的答案的主旨。我这样做了,一百万年前从Pascal切换到C。大项目。结束的那个家伙。