问题标签 [unary-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 投票
15 回答
53187 浏览

c# - 一元加号运算符有什么作用?

一元加号运算符有什么作用?我找到了几个定义(herehere),但我仍然不知道它的用途。看起来它什么也没做,但这是有原因的,对吧?

0 投票
9 回答
559 浏览

c# - C# 编译器行为问题?

大家好,在下面的代码中,第二个表达式后面的d的结果应该是什么?

之后会假设 d 为 3,但一元增量 d++ 似乎没有生效,并且 d 保留值 2。

这个bug有名字吗?其他支持一元增量的编译器(如 C#)是否存在?

0 投票
2 回答
216 浏览

perl - 为什么我不能在 Perl 中打印后立即获得文字列表切片?

我看到我可以做这样的事情:

并打印“stackoverflow”。然而,这:

做同样的事情,这个:

是语法错误。那么这里到底发生了什么?我一直理解一元加号在任何情况下都不做任何事情。如果“print FILEHANDLE EXPR”有效,我会想象“print EXPR”总是同样有效。有什么见解吗?

0 投票
6 回答
2940 浏览

c - 在C中,如何计算无符号数量的负数

在 K&R ANSI C 书的 A.7.4.5 节(一元减号运算符)中指出:

...无符号数量的负数是通过从提升类型的最大值中减去提升值并加一来计算的;...

这个具体是怎么计算的?你能举一个简短的C例子吗?

我不明白这怎么会产生负数,比如 200u:从任何整数类型(有符号或无符号)的最大值中减去 200,加 1 不会导致 -200。

我知道一元减号的作用——问题是我看不到结果是如何根据描述计算的。

0 投票
2 回答
667 浏览

c++ - 函数调用中的一元指针增量与函数调用之前/之后的增量

我正在尝试理解代码,这是导致混淆的片段:

困惑是:如果我想在函数调用之后增加 j ,它会导致分段错误。我不明白为什么:

我把它改成这样:

导致分段错误。

或像这样:

导致分段错误。

这是完整的程序清单:

0 投票
4 回答
15676 浏览

bash - Multiple unary operators in an if statement

Is it possible to have multiple unary operators in if statements.. Here is the code snippet which is giving me error.

Please correct the code here.

0 投票
7 回答
9070 浏览

java - Java的一元加号运算符的目的是什么?

Java 的一元加号运算符似乎是通过 C++ 从 C 中继承而来的。

它似乎具有以下效果:

  • 如果它是包装器对象,则将其操作数拆箱
  • 将其操作数提升为int,如果它还不是一个int或更宽的
  • 使包含大量连续加号的邪恶表达式的解析稍微复杂化

在我看来,有更好/更清晰的方法来做所有这些事情。

这个 SO question中,关于 C# 中的对应运算符,有人说“如果你觉得需要,它就会被重载”。

但是,在 Java 中,不能重载任何运算符。那么这个一元加号运算符是否存在于 Java 中只是因为它存在于 C++ 中?

0 投票
9 回答
2749 浏览

java - += 和 =+ 有什么区别?

+= 和 =+ 有什么区别?具体来说,在java中,但总的来说也是如此。

0 投票
4 回答
2661 浏览

haskell - Haskell中一元运算符的前缀形式

在 GHCi 中:

  1. 前奏> (+3) 2
    5
  2. 前奏> (*3) 2
    6
  3. 前奏>(/3)2
    0.6666666666666666
  4. Prelude> (-3) 2
    (Num (t -> t1))
    没有由字面 it' 产生的实例:it = (- 3) 23' at <interactive>:1:2
    Possible fix: add an instance declaration for (Num (t -> t1))
    In the expression: 3
    In the expression: (- 3) 2
    In the definition of

如何更正最后一个以使其返回-1?

0 投票
6 回答
77477 浏览

javascript - JavaScript 中的 ++someVariable 与 someVariable++

在 JavaScript 中,您可以在变量名++之前(pre-increment )或之后( post-increment)使用运算符。如果有的话,这些增加变量的方法之间有什么区别?