8

标题中暗示的休闲/好奇心问题。

在我看来,我个人更喜欢新的运算符,以使代码更具可读性。

哪些自己用?您选择其中一个而不是另一个的原因是什么?

Emacs 也以不同的方式突出显示这些运算符,因此我在查看屏幕时可以获得更多视觉反馈。我知道旧的运算符也可以突出显示,但默认情况下突出显示 ISO646

4

6 回答 6

12

我认为我什至从未见过实际使用字母运算符的 C/C++ 源代码。对我来说,这看起来很奇怪;非常非C-ish。

于 2009-11-09T21:50:47.713 回答
10

我更喜欢使用not而不是!因为它更具可读性:

if (not condition()) {
}

相对

if (!condition()) {
}

!那种迷失在那里。当然,#define在编写可移植的代码时必须避免(或 d)这种情况。

但是,andor没有为我做太多,所以我不使用它们。

于 2009-11-09T21:41:43.633 回答
9

我不会使用替代运算符,因为在我看来,它们会导致更多的混乱而不是清晰。
如果我看到一个按字母顺序排列的名称,我希望有一个命名空间、类、变量、函数或函数样式的运算符——常见的运算符对我来说直观地将其划分为序列。对我来说,替代风格不适合 C/C++ 世界。

此外,虽然 Greg 对 C 或 C++ 的新手有意见,但您很快就会习惯它——我在任何地方都没有发现!任何问题。

于 2009-11-09T22:18:55.233 回答
3

您指的是源自 的替代令牌iso646.h吗?

它们来自 C 语言,很少见,因此大多数人可能不太容易阅读。我敢肯定,如果我们被这些关键词“抚养”起来,它们会更常见,因为它们读起来更像英语。

再说一次,&&让非英语使用者用他们的母语说“和”。(并不是说这首先是关键字中的一个问题。)

于 2009-11-09T21:36:03.500 回答
2

我用旧的。

原因:我在 Perl 中编码了一段时间,运算符具有不同的优先级,具体取决于它们是否是拼写变体。由于这个原因,我遇到了几个错误,从那时起,我总是使用&&,||以及!任何具有它们的语言的拼写变体。

于 2009-11-09T21:35:33.100 回答
1

逻辑(不仅是逻辑)运算符的替代标记,如and,等ornot与 C++ 无关。它们几乎从一开始就出现在 C 中。如果你喜欢在你的代码中使用它们,你可以自由地这样做,但是如果人们认为这种做法相当不正统,请不要感到惊讶。通常人们在 C 和 C++ 代码中对这些运算符(例如&&||等等)使用传统的指示符。

于 2009-11-09T21:54:32.687 回答