postfix-operator相关内容

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

jslint 工具的提示之一是: ++ 和 -- ++(递增)和 --(递减)众所周知,操作符会导致错误代码鼓励过度狡猾.他们仅次于有缺陷的架构在使病毒和其他安全威胁.有一个加号禁止使用这些的选项运营商. 我知道像 $foo[$bar++] 这样的 PHP 结构很容易导致一个错误,但我想不出比 $foo[$bar++] 更好的方法来控制循环code>while( a 或 for (v ..

前缀和后缀运算符有什么区别?

以下代码打印的值为 9.为什么?这里 return(i++) 将返回一个值 11 并且由于 --i 值应该是 10 本身,谁能解释一下这是如何工作的? #include主要的(){int i= 乐趣(10);printf("%d\n",--i);}诠释乐趣(诠释我){返回(我++);} 解决方案 ++ 的后缀和前缀版本之间存在很大区别. 在前缀版本(即++i)中,i的值递增,表达式的值 ..
发布时间:2021-12-02 08:04:38 其他开发

Java:前缀 - 后缀问题

我在使用前缀和后缀运算符对数字执行减法时遇到了一个小问题.这是我的程序: 公共类后缀前缀{public static void main (String args[]){int a = 5;国际b;b = (a++) - (++a);System.out.println("B = " +b);}} 这样做,理论上我应该得到 0 作为答案,但是,我得到的是 -2. 当我尝试单独尝试增加此程 ..
发布时间:2021-09-01 18:50:15 Java开发

编译顺序和后前缀运算符

我想知道为什么以下输出 7 7 6 7 而不是 5 6 6 7 我的 $a = 5;printf("%d %d %d %d",$a,++$a, $a++, $a); 我很确定它与参数编译的顺序有关 谢谢, 解决方案 在我开始之前,让我指出通常应该避免在表达式中设置和读取变量的情况. 首先,让我们看看操作数评估顺序.这不是为许多运算符定义的,而是为列表运算符定义的.它被记录为 ..
发布时间:2021-06-15 20:49:14 其他开发

C ++后缀/前缀运算符重载为非成员函数

我正在编写自己的数组类作为练习.因为,我读到的非成员函数实际上在某些方面比成员函数更好. (斯科特·迈耶斯) 我正在尝试编写尽可能多的非成员函数运算符重载. 运算符重载+,-作为非成员函数都可以正常工作. my_array operator+(const my_array & left, const my_array & right); my_array operator-(const ..

通过前缀和后缀运算符增加数字

错误地,我写道: ++ number ++; 得到了这个: 未捕获的ReferenceError:前缀操作中的左侧表达式无效 为什么?除了这个之外,首先将数字增加1,然后再将数字再增加一个。 解决方案 在JavaScript中, ++ 都是前缀和 postfix 增量运算符。 postfix 运算符具有更高的优先级,因此当我们应用优先级时 ..

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

jslint工具提示之一是: ++和 - ++(增量)和 - (减量) 运算符众所周知,通过 鼓励过多的诡计会导致糟糕的代码。他们 仅次于故障架构 ,可以实现病毒和其他 安全威胁。有一个plusplus 选项禁止使用这些 运算符。 我知道PHP构造类似 $ foo [$ bar ++] 可能很容易导致一个一个错误,但我无法找到一个比 while(a ..

为什么后缀操作符++的优先级高于前缀操作符++?

定义这种方式,我们既不能做 ++ x ++ 也不能 ++ x - 。但另一方面,(++ x)++ 和(++ x) - 表达式:(++ x)++ 增量 x 乘以2并返回值“ (++ x) - 本质上等同于 x + 1 ,但完全避免了必须调用 因此,为什么优先级没有定义为 ++ x ++ 自动展开为(++ x)++ ,而不是 ++(x ++)?对于后者有一些隐藏的意义我不明白,还是只是为了保持优 ..

i ++比++ i效率低,怎么显示呢?

我试图通过示例显示前缀增量比后缀增量更有效。 在理论上这是有道理的:i ++需要能够返回未增加的原始值,因此存储它,而++ i可以返回增加的值,而不存储以前的值。 但是有一个很好的例子, ? 我试过下面的代码: ]; int main() { for(int i = 0; i array [ i] = 1; } 我使用gcc 4.4.0编译它 ..
发布时间:2016-10-14 10:42:45 C/C++开发

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

查看这些函数签名: 类号{ public: Number& operator ++(); // prefix ++ 数字运算符++(int); // postfix ++ }; 前缀不接受任何参数,但postfix。为什么?我想我们可以用不同的返回类型来识别它们。 解决方案 前缀和后缀 ++ 是不同的运算符。使用标准 Foo操作符(Foo&)样式声明,没有明 ..

为什么后缀++ / - 归类为C#的主要运营商?

目前我教一类的C ++程序员的C#语言的基础知识。正如我们讨论的话题运营商我使用的主,一元等运营商的C#标准类别。 一位与会者感到不解,因为在C#标准“后缀+ + / - “已投入在主运营商的类别,而不是”前缀+ + / - “。她的这种混乱背后的理由是,她宁愿实现C ++运算符“后缀++ / - ”的在的操作“前缀++ / - ”的条款。换句话说,她宁愿指望运营商“前缀++ / - ”作为 ..
发布时间:2016-09-18 12:58:21 C#/.NET

什么是preFIX和后缀运营商之间的区别?

以下code打印的9.为什么值?在这里,收益率(我++)将在11日和到期返回一个值 - 我的值应该是10本身,任何人都可以解释这是如何工作? #包括LT&;&stdio.h中GT; 主要() { INT I =乐趣(10); 的printf(“%d个\\ N” - 我); }INT乐趣(int i)以 { 回报(我++); } 解决方案 在在函数返回I 是因为你使 ..
发布时间:2016-08-17 21:17:14 C/C++