问题标签 [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.
c++ - C++ 中的一元运算符重载类型(新手)
我试图重载尖叫(!)运算符以返回向量的长度,如下所示:(!因为它看起来像一个小写的“L”,为了简洁和可读性,我想要一个一元运算符。 )
我从 gcc 得到的错误代码是:
(注意:我找不到这个问题的答案,要么是由于缺乏 C++ 经验,要么是因为我试图做一些违反我因自学而跳过的语言的一个非常基本的租户的事情。)
c - 一元操作有时是自杀性的。用 C 代码搞砸
C语言代码。
我的问题是为什么i
是:392
?根据我的输出应该是336
。(因为6 * 7 * 8 = 336
)
我真的在这里搞砸了吗??
syntactic-sugar - 一元减法与二元减法
我的问题是;在编写编译器时,是否在所有情况下都有效,将一元减号改为二进制减号,第一个操作数 = 0,即我可以更改吗?
至:
还是会像这种产量问题一样脱硫?
java - 尽管右手边有一个一元运算符,Java 的逻辑 OR 运算符不会评估右手边?
鉴于:
考虑代码片段#1:
代码片段 #1 并没有NullPointerException
像我最初认为的那样抛出 a 。我可以在操作员的一点帮助下引发异常|
。代码片段#2:
那么为什么我的第一个代码片段从未评估过其中包含一元 NOT 运算符的正确表达式(感叹号!
)?根据..所有的网站..一元NOT运算符的优先级高于逻辑OR运算符(||
)。
c++ - 在类中实现一元减法、否定、减号运算符、“运算符-”
我正在研究实现一元“否定”、“符号反转”或“减法”运算符,可能作为我班级的朋友函数。
我对正确方法的猜测是:
我的猜测正确吗?
PS:理想情况下,命名空间名称应该小写,因为大写通常专门用于常量,但是我认为大写提供了更大的影响。
PPS:从这里撕掉示例
c++ - 为什么 C++ 标准不弃用递增/递减运算符?
我认为下面的代码是邪恶的,但它可以在没有任何警告的情况下编译。
我只是想知道为什么神圣标准不弃用这样的运营商?
我想可能有两个原因:
一种可能是为了向后兼容;
另一个可能是在某些情况下,这些运算符非常有用。
如果后者是真的,你能给我举一些例子吗?谢谢。
c# - 有没有办法为枚举类型实现一元运算符?
我有以下内容:
我想用!运算符如下:
(这是一个枚举)
我努力了:
...但我收到一个错误:
此一元运算符的参数类型必须是包含类型
有任何想法吗?
php - perl 一元 ~ 没有给出预期的结果
我正在尝试将一个 php 算法移植到 perl,但我与我不熟悉的一位运算符斗争...
所以php代码看起来像这样:
结果:-348492635
在 perl 中做同样的事情:
结果:18446744073361058981
我根据 cpu 的体系结构阅读了很多关于整数大小的信息,但我从未找到一个可行的解决方案。也许我只是在 perl 中使用了错误的函数......
逻辑必须获得与 php 脚本中相同的结果。
提前致谢
c - C 中优先级和 ++ 和 * 一元运算符的问题
我的问题不长,但对我来说很令人费解。我是那些(我认为是正确的)想了解他们所学语言的每一条规则的人之一。我想知道为什么语言会这样做。
那么,为什么要++*i
增加 的值*i
,而不是i
指针呢?预增量运算符的优先级高于间接运算符。这似乎是常识,但我必须再次确切地知道原因。如果可以,请提供参考。
r - Use 'not' instead of '!' in R
I would like R to be more pythonic. One of the steps for transforming it would be the use of 'not' instead of '!'. I hope this does not need writing of C++ and compiling etc, or does it?
Functionality: "!TRUE" should equal "not TRUE".
If you know where to start, please point me there.