问题标签 [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.
c++ - 后缀前缀运算符重载错误c ++
对前缀和后缀增量使用运算符重载时,我从编译器收到错误消息:
“Fajl Fajl::operator ++(int)' : 成员函数已定义或声明”
以下是运算符 ++ 的标题:
我的实现:
“Fajl”是类,“poz”是我要增加的论点。我究竟做错了什么?
c++ - 重载后缀运算符如何工作?
我有以下代码:
我有一些问题如下:
为什么前缀返回引用而后缀返回对象?在 C++ Primer 一书中,作者只解释了“
For consistency with the built-in operators
”。然后,我测试了代码:
数组 ar;
/li>
输出正是我所期望的。现在我将重载后缀函数中的代码更改为:
我调用了测试代码:
为什么我会得到这样的结果?
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 :(
syntax - Common Lisp:如何创建一个连接前缀宏,类似于'?
Common Lisp 宏通常使用包含前缀表示法:(运算符的东西......)
但是,特殊的引号宏 ' 使用连接前缀表示法: operator stuff 或 operator(stuff)。
我想在 SBCL Common Lisp 中创建一个自定义宏,我们称之为 !,它使用连接前缀语法对以下列表(甚至原子)进行操作,其方式类似于 ' 。因此,我可以在任何地方调用它,例如 (setq foo !(bar) ),而无需将其插入括号本身。
如何才能做到这一点?defmacro 语法是什么样的?谢谢。
javascript - 分配时的Javascript增量
我正在讨论前缀增量运算符,我们似乎遇到了分歧。
运行此代码时:
第二行相当于:
- x = (x = x + 1) 或
- x = (x + 1)
很难区分,因为结果是相同的(两者的结果都是x
1)
我相信当赋值的左侧是变量本身时,该值不会保存到原始变量中。
我的对手不同意,并认为无论何时使用运算符,该值都会保存到原始变量中++
。
我们谁是对的?
java - Java:前缀 - 后缀问题
我有一个小问题,使用前缀和后缀运算符对数字执行减法。这是我的程序:
这样做,理论上我应该得到 0 作为答案,但是,我得到了 -2。
当我尝试单独尝试增加此程序中的值时:
我得到的值为 B = 5,C = 7。
所以我知道'c'从'b'中获取'a'的值(如果我错了请纠正我),但我想知道的是
- 我怎样才能让它不从'b'中获取'a'的值,以及
- 使用前缀 - 后缀,我可以在减去它们时得到 0 作为答案。
perl - 编译顺序和后置前缀操作符
我想知道为什么以下输出7 7 6 7
而不是5 6 6 7
我很确定这与参数编译的顺序有关
谢谢,
c++ - 为什么要避免 C++ 中的后缀运算符?
我听到一位教授说“避免上下文允许选择前缀的后缀运算符”。我搜索但我没有在stackoverflow中找到解释这一点的相关帖子。
当我们有能力选择任何一个时,为什么更喜欢prefix
operator++ 而不是 operator++?postfix
c - 如何解决后缀和前缀运算符表达式?
我写了以下代码:
我得到了以下结果:
据我所知,后缀和前缀运算符在分号之后解决,即。原始值在表达式中使用,然后变量自行解析。在这种情况下
应该等于
两者都应该等同于
因此两个表达式的结果必须相同。但事实并非如此。请任何人都可以帮助我解决我在哪里有错误的概念。
c++ - C++ 运算符重载前缀/后缀
我正在学习 C++ 中的运算符重载。原始后缀 ++ 的属性是它的优先级低于赋值运算符。例如,int i=0, j=0; i=j++; cout<<i<<j
将输出 01。但是当我重载后缀 ++ 时,这个属性似乎丢失了。
输出(0,0)(2,2),而我期望(0,0)(1,1)。
你能帮我理解为什么会这样,以及恢复原始财产的可能性吗?