问题标签 [prefix-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 投票
3 回答
843 浏览

c++ - 后缀前缀运算符重载错误c ++

对前缀和后缀增量使用运算符重载时,我从编译器收到错误消息:

“Fajl Fajl::operator ++(int)' : 成员函数已定义或声明”

以下是运算符 ++ 的标题:

我的实现:

“Fajl”是类,“poz”是我要增加的论点。我究竟做错了什么?

0 投票
2 回答
543 浏览

c++ - 重载后缀运算符如何工作?

我有以下代码:

我有一些问题如下:

  1. 为什么前缀返回引用而后缀返回对象?在 C++ Primer 一书中,作者只解释了“ For consistency with the built-in operators”。

  2. 然后,我测试了代码:

    数组 ar;

    /li>

输出正是我所期望的。现在我将重载后缀函数中的代码更改为:

我调用了测试代码:

为什么我会得到这样的结果?

0 投票
2 回答
645 浏览

c++ - Turbo C++ (not visual)(Postfix and prefix operators)

When I run this program I get output as 2

... but when I just modify it to

... I get output 0. WHY? In java both the of them gave output as 2. Whats wrong with C++? Explain :(

0 投票
1 回答
286 浏览

syntax - Common Lisp:如何创建一个连接前缀宏,类似于'?

Common Lisp 宏通常使用包含前缀表示法:(运算符的东西......)

但是,特殊的引号宏 ' 使用连接前缀表示法: operator stuff 或 operator(stuff)。

我想在 SBCL Common Lisp 中创建一个自定义宏,我们称之为 !,它使用连接前缀语法对以下列表(甚至原子)进行操作,其方式类似于 ' 。因此,我可以在任何地方调用它,例如 (setq foo !(bar) ),而无需将其插入括号本身。

如何才能做到这一点?defmacro 语法是什么样的?谢谢。

0 投票
4 回答
5445 浏览

javascript - 分配时的Javascript增量

我正在讨论前缀增量运算符,我们似乎遇到了分歧。

运行此代码时:

第二行相当于:

  • x = (x = x + 1) 或
  • x = (x + 1)

很难区分,因为结果是相同的(两者的结果都是x1)

我相信当赋值的左侧是变量本身时,该值不会保存到原始变量中。

我的对手不同意,并认为无论何时使用运算符,该值都会保存到原始变量中++

我们谁是对的?

0 投票
4 回答
514 浏览

java - Java:前缀 - 后缀问题

我有一个小问题,使用前缀和后缀运算符对数字执行减法。这是我的程序:

这样做,理论上我应该得到 0 作为答案,但是,我得到了 -2。

当我尝试单独尝试增加此程序中的值时:

我得到的值为 B = 5,C = 7。

所以我知道'c'从'b'中获取'a'的值(如果我错了请纠正我),但我想知道的是

  1. 我怎样才能让它不从'b'中获取'a'的值,以及
  2. 使用前缀 - 后缀,我可以在减去它们时得到 0 作为答案。
0 投票
1 回答
115 浏览

perl - 编译顺序和后置前缀操作符

我想知道为什么以下输出7 7 6 7而不是5 6 6 7

我很确定这与参数编译的顺序有关

谢谢,

0 投票
5 回答
1351 浏览

c++ - 为什么要避免 C++ 中的后缀运算符?

我听到一位教授说“避免上下文允许选择前缀的后缀运算符”。我搜索但我没有在stackoverflow中找到解释这一点的相关帖子。

当我们有能力选择任何一个时,为什么更喜欢prefixoperator++ 而不是 operator++?postfix

0 投票
2 回答
6287 浏览

c - 如何解决后缀和前缀运算符表达式?

我写了以下代码:

我得到了以下结果:

据我所知,后缀和前缀运算符在分号之后解决,即。原始值在表达式中使用,然后变量自行解析。在这种情况下

应该等于

两者都应该等同于

因此两个表达式的结果必须相同。但事实并非如此。请任何人都可以帮助我解决我在哪里有错误的概念。

0 投票
2 回答
1813 浏览

c++ - C++ 运算符重载前缀/后缀

我正在学习 C++ 中的运算符重载。原始后缀 ++ 的属性是它的优先级低于赋值运算符。例如,int i=0, j=0; i=j++; cout<<i<<j将输出 01。但是当我重载后缀 ++ 时,这个属性似乎丢失了。

输出(0,0)(2,2),而我期望(0,0)(1,1)。

你能帮我理解为什么会这样,以及恢复原始财产的可能性吗?