问题标签 [post-increment]

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 回答
7775 浏览

java - 作为参数传递时,Java 后增量 (++) 的行为不符合预期

我遇到了以下问题:

我希望这会运行doStuff10 次然后返回。

但是,在再次调用i++之前不会执行。doStuff0

结果是一个无限循环。我知道如何解决它,但我想知道这种行为是正确的还是错误的。

0 投票
2 回答
539 浏览

c++ - 一元运算符重载C++中的特殊情况

我成功地完全重载了一元++,--后缀/前缀运算符,并且我的代码工作正常,但是在使用(++obj)++语句时它会返回意外结果

这是代码

有什么解决办法或理由???

0 投票
7 回答
3275 浏览

c - C中的后增量和前增量运算符

为什么 k 没有递增,而 i 和 j 在同一个表达式中递增。我还想知道程序的输出是什么。我得到的输出为 -2 3 1 0

0 投票
6 回答
382 浏览

c++ - y=x++ 中有多少个原始步骤?

它在编译器级别中断了多少步而不在 CPU 级别或指令上进行优化?是否创建了任何临时以将 x 分配给 y 或者直接发生?

0 投票
5 回答
4261 浏览

java - 为什么后增量对包装类起作用

我正在审查一些代码,并遇到了一个实例,有人对 Integer 的包装类成员变量进行了后期递增。我自己尝试过,真的很惊讶它的工作原理。

这打印出来0, 1,不像0, 0 我预期的那样。我浏览了语言规范,找不到任何内容。任何人都可以向我解释为什么这样做有效,以及跨多个平台是否安全?我原以为这会分解成

但显然规范中有一些东西使它x = temp1;在最后一行之前添加

0 投票
1 回答
1285 浏览

c# - 为什么 ++ 运算符重载时 ++foo 和 foo++ 没有区别?

可能重复:
后增量运算符重载
为什么后缀 ++/— 在 C# 中被归类为主要运算符?

我看到我可以重载++and--运算符。通常您通过两种方式使用这些运算符。前后递增/递减一个 int 示例:

但是在运算符重载方面情况有点不同:

我的问题是为什么最后这两行输出相同的东西?更具体地说,为什么第一行(两行)输出flying


解决方案是将运算符重载更改为:

0 投票
6 回答
5263 浏览

java - Java 中的 a += a++ * a++ * a++。它是如何被评估的?

我在这个网站上遇到了这个问题,并在 Eclipse 中尝试过,但不明白它们是如何被评估的。

根据网站上的评论, x += x++ * x++ * x++ 解析为 x = x+((x+2)*(x+1)*x) ,事实证明这是真的。我想我错过了关于这个运算符优先级的一些东西。

0 投票
4 回答
34 浏览

javascript - 函数的属性没有适当增加?

我正在练习一些不同的 JavaScript 技术,即函数属性。这是让我有点摸不着头脑的事情。

第一次调用函数不应该返回 1 吗?为什么返回0?q0.unique 已经设置为 0?

0 投票
1 回答
3408 浏览

python - 通过一元运算符和三元运算符递增整数

我是 Python 新手,如何在 Python 中执行以下 C 习语?

谢谢你。

0 投票
1 回答
91 浏览

java - Math.min() 中的后增量运算符有趣的行为

我有一个问题,
In JavaMath.min绑定是否比++?
让我用一个例子来说明,也许有人可以向我解释为什么我会得到我得到的结果。

这是我运行的方法:

结果是:

在我放的那一行,我//x=10 WHY NOT x=11?
想知道为什么x是 10 而不是 11。也许有人可以向我解释一下。

看起来好像Math.min创建了x它用来做Math.min. 然后原件x从 10 增加到 11,但仍然是 10 的副本会出来Math.min并覆盖增加的 1。

这有意义吗?有没有人解释为什么在这种情况下 x 是 10 而不是 11?

谢谢

PS - 我完全理解后自增 (i++) 和预自增 (++i) 运算符如何在 Java 中工作?