问题标签 [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 投票
1 回答
125 浏览

c - C中带有前缀运算符的未定义输出

gcc 上的输出是 4 4。请解释这个输出

0 投票
1 回答
3383 浏览

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

我正在编写自己的数组类作为练习。因为,我读到非成员函数实际上在某些方面比成员函数更好。(斯科特迈耶斯

我正在尝试尽可能多地编写非成员函数的运算符重载。运算符重载 + , - 作为非成员函数都可以正常工作。

但是,作为非成员函数的前缀/后缀运算符会产生问题(如果我使用范围解析并将它们设为成员函数,它们就可以正常工作)

我知道并非每个运算符重载都可以是成员函数。但是,我对为什么这两个不能是非成员函数感到困惑。我得到的错误是:

如果我将它们设为成员函数并允许 *this 数组 obj 以下列格式传递,这基本上可以解决。

但整件事是,我不想让它们首先成为成员函数!那么,是不是 pre/post fix 运算符不能/不应该被实现为非成员函数?

我想出的理由是,由于后缀/前缀是一元运算符,它们只有一个参数(通常是 *this)。因此,如果我希望编译器隐式提供 *this 指针并调用重载,则必须将它们实现为成员函数。

我的推理正确吗?如果不是,我如何将其实现为非成员函数?感谢您为我提供一些见解。

0 投票
1 回答
92 浏览

c - 需要帮助:在 C 中使用指针堆栈

我必须解决这个程序,但我真的不知道如何使用指针使用堆栈。如果有人可以向我解释这一点,我将不胜感激。

使用指针实现 atp Stack 并编写一个子例程来计算以前缀形式给出的逻辑表达式的值。您需要使用堆栈来解决问题。输入:表示前缀形式的逻辑表达式的字符串 输出:加载的表达式的值 例如,输入数据:

应该写: 1 注意:& = AND, | = OR, ^ = XOR, - = NOT

(PS如果有错误请见谅,英语不是我的母语)

0 投票
2 回答
112 浏览

java - 为什么我的前缀运算程序连续输入超过2个整数时不起作用?

当我只在一行中输入 1 或 2 个整数时,我的程序可以正常工作,例如:+ 13 24 或 * 4 - 165 235。但如果我输入 % * 5 12 8,它不会给我正确的答案。我怎样才能改变我的循环,以便它在连续有更长的整数字符串时工作。给定前缀符号的操作顺序和格式?*我的堆栈类及其方法确实可以正常工作。

}

0 投票
1 回答
714 浏览

java - 前缀和后缀操作数之间的区别?

我相信这个问题是不同的,因为另一个问题是询问数字是如何在 println() 中递增的。另一个问题中接受的答案没有解释后缀在打印后会增加值。

我一直在阅读大索引,我了解如何以及何时使用后缀,但我不知道存在前缀。当它说 6 在此代码中打印两次时,这是什么意思?我认为它添加到整数。

为什么它不打印 4、5、6、7、8?

0 投票
3 回答
794 浏览

ruby - Bang (!) at the beginning of method name

What is the purpose of the exclamation mark right before the taking_damage method in this example of code?

0 投票
1 回答
183 浏览

c - c 如何评估包含前缀增量的表达式?

假设 x 在左侧的每个语句执行之前被初始化为 0,结果是右侧显示的值:

为什么第一条语句的结果是 7 而第二条语句的结果是 9 ???

为什么第一条语句的结果和第三条语句的结果一样???

0 投票
2 回答
1063 浏览

c - 后缀前缀 ++ 和二进制 & 运算符的优先级

我对 C 中的后缀和前缀运算符优先级感到困惑,任何帮助和提示都会有所帮助。

我将在这里粘贴我的测试代码:

我现在可以理解,在 postfix 版本中,虽然postfix ++具有更高的优先级,a++但会回到0这里&0x01会增加a' 的值。

但我无法理解的是为什么在前缀版本中,为什么++a首先评估?运算符优先级表表明prefix ++&具有相同的优先级,此外,它们的结合性是right-to-left。这不是&应该先评估的意思吗?

编辑: 我正在使用的图表:C 运算符优先级表

0 投票
1 回答
517 浏览

c++ - 迭代器和 const_iterator 运算符++ 后置和前缀

我们正在开发一个自定义 List 类。我们正在尝试实现迭代器和 const_iterator 及其函数,但我们的 ++ 运算符有问题。PostFix 根本不起作用,当我们走得太远时 PreFix 会给我们段错误(当前代码是一种解决方法,它只返回最后一个有效结果)。问题1:我们如何在不返回最后一个有效元素的情况下修复与前缀相关的段错误?(我们已经尝试返回 nullptr)。

Postfix 只是不会迭代,即使我们遵循了互联网上的每一个指南 <.<

问题 2:为什么 PostFix 不起作用?

后缀代码:

测试代码(带有后缀的atm):

后缀的输出:

前缀的输出:

0 投票
1 回答
416 浏览

c++ - Prefix increments variable twice in C++

I'm facing a somewhat classic exam question around postfix and prefix operators, prefix that I can't wrap my head around. Consider the following:

The exam question asks for the output of the program. To me it would be "3 is greater than 2" but the actual output is "4 is greater than 2"

I understand how post and prefix work (or at least I thought so) but I don't get how the variable gets incremented twice. Any explanation on this?