问题标签 [postfix-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7082 浏览

c++ - 如何区分(重载时)运算符++的前缀和后缀形式?(C++)

因为我已经operator++为迭代器类重载了

但是当我尝试做

我收到关于没有 postifx 的警告++,使用前缀形式。我怎样才能特别重载前缀/后缀形式?

0 投票
18 回答
353730 浏览

javascript - 为什么要避免 JavaScript 中的递增(“++”)和递减(“--”)运算符?

工具提示之一jslint是:

++众所周知,--
( ++increment) 和--(decrement) 运算符会通过鼓励过多的技巧来导致糟糕的代码。它们在启用病毒和其他安全威胁方面仅次于错误的架构。有一个 plusplus 选项禁止使用这些运算符。

我知道像这样的 PHP 结构$foo[$bar++]很容易导致错误,但我想不出比以下更好的方法来控制循环:

或者

突出显示它们是jslint因为有一些类似的语言缺少“ ++”和“ --”语法或处理方式不同,还是有其他理由可以避免我可能遗漏的“ ++”和“ ”?--

0 投票
3 回答
359 浏览

perl - 为什么 Perl 不允许我从后缀比较中链接后缀循环?

还行吧:

这没关系:

但这不是:

如果事情不复杂,我发现后者非常可读,而且它适合一行!有没有办法做到这一点,或者我应该继续我的生活?

0 投票
9 回答
8908 浏览

c++ - i++ 比 ++i 效率低,如何显示?

我试图通过示例说明前缀增量比后缀增量更有效。

理论上这是有道理的:i++ 需要能够返回未递增的原始值并因此存储它,而 ++i 可以返回递增的值而不存储先前的值。

但是在实践中是否有一个很好的例子来证明这一点?

我尝试了以下代码:

我使用 gcc 4.4.0 编译它,如下所示:

我再次这样做了,后缀增量更改为前缀增量:

结果在两种情况下都是相同的汇编代码。

这有些出乎意料。似乎通过关闭优化(使用-O0),我应该看到展示概念的不同之处。我错过了什么?有更好的例子来说明这一点吗?

0 投票
3 回答
18764 浏览

c - 后缀“_t”在 C 中代表什么?

可能重复:
_t(下划线-t)后跟的类型代表什么?

在我的 IDE (Xcode) 中输入时,当我输入一些变量名时,自动完成会弹出已经定义的单词。我偶尔会看到名称_t末尾带有“ ”的名称。

  1. 那是什么命名约定,它是什么意思?

  2. 是否有参考文档来查找常用的修复前和修复后?

用“后缀”这个词搜索给了我很多关于同名邮件服务器的 GoogleNoise。

0 投票
5 回答
1594 浏览

c# - C# 运算符重载后修复增量

我正在编写一个日期类,并且在修复后增量方面遇到了问题(前缀增量似乎很好)。

这是示例代码:

方法“Next(date d)”接受一个日期并返回明天的日期(为简洁起见,我省略了它)。我在 C# 中还很年轻,无法理解为什么前缀很好但后缀增量什么也没做。但请记住,在 C++ 中,我们必须有两种方法,而不仅仅是一种方法——用于前缀和后缀增量。

编译时也没有错误或警告。

0 投票
5 回答
5343 浏览

c - 查找字符串结尾:*s++ VS *s then s++

我正在编写一个简单的字符串连接程序。

该程序按照我发布的方式运行。但是,我首先使用以下代码编写它来查找字符串的结尾:

然而,这种方法并没有奏效。我传递给它的字符串没有正确复制。具体来说,我尝试将“abc”复制到保存“\0”的 char[] 变量。

从阅读 C K&R 的书来看,它看起来应该可以工作。该紧凑形式应采取以下步骤。

  1. *s 与 '\0' 比较
  2. s 指向下一个地址

那么为什么它不起作用呢?我在 Debian 上使用 gcc 进行编译。

我发现这个版本确实有效:

提前致谢。

0 投票
1 回答
1373 浏览

c++ - C++中前缀和后缀的返回值

为什么在 C++ 中前缀返回引用但后缀返回值?

0 投票
6 回答
11079 浏览

c++ - 为什么后缀增量运算符采用虚拟参数?

看看这些函数签名:

Prefix 不带任何参数,但 postfix 可以。为什么?我想我们可以用不同的返回类型来识别它们。

0 投票
4 回答
4037 浏览

c++ - 实现 C++ 后缀增量运算符

我编译了以下示例:

cplusplus.com/reference我得到编译器警告:

这里有什么问题?后缀签名是否应该是myiterator operator++(int)按值返回?

是否在某个地方定义了 STL 迭代器上的后缀签名应该是什么样的?