问题标签 [binary-operators]

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 回答
715 浏览

c - 在 C BNF 中,UnaryOperator ::= ( "&" | "*" | "+" | "-" | "~" | "!" )。为什么 / 和 % 被排除在 UnaryOperator 中?

在 C BNF 中,MultiplicativeExpression定义UnaryOperator如下:

/%定义MultiplicativeExpression在?

0 投票
2 回答
120 浏览

c++ - 后缀运算符不应该被视为二元运算符吗

后缀运算符带有一个int参数。已经有一个关于为什么的问题,答案似乎是:“因为 Bjarne Stroustrup 这么说

我对这个答案感到不舒服。如果 Bjarne Stroustrup 需要一些东西来提示编译器以使其行为不同,那么他为什么不能直接关闭操作符是否返回引用呢?这让我产生疑问:

  1. 为什么我不能这样做:foo++ 13;
  2. 为什么int参数不默认为1
  3. 为什么这被认为是一元运算符,它需要一个参数
0 投票
0 回答
37 浏览

c++ - Operator+ 重载在返回时中断

我第一次使用运算符重载并且遇到了一些问题。我创建了一个将多项式存储为项数组的类,并尝试重载 operator+ 以将两个多项式相加。每当 operator+ 函数试图返回一个对象时,程序就会中断。

问题:

此外,如果我尝试传递给一个函数,例如 Polynomial::someMemberFunction( Polynomial1 + Polynomial2 );该函数在尝试访问 sum 的ptr[]数据成员时会中断,并且调试器将返回:Unhandled exception at 0x543B6D46 (msvcp110d.dll) in SchoolProject.exe: 0xC0000005: Access violation reading location 0xFEEEFEEE.

我不知道为什么要这样做,我愿意接受任何建议。

编辑:

答案确实是我需要显式定义复制构造函数和重载赋值运算符,以便正确复制和分配对象。我重载的 operator+ 调用了隐式复制构造函数和 operator=,它们无法复制我的 *ptr 数据成员指向的信息。我已经编辑了我的问题的文本以删除不相关的信息。

0 投票
1 回答
17996 浏览

r - R中的“二元运算符的非数字参数”错误

我一直在尝试运行此函数,然后弹出“二进制运算符的非数字参数”。我已经看到了很多与我类似的问题,但我仍然无法弄清楚我的代码有什么问题。

错误发生在第六行Itl[j] <- (Itl[j] + incrm[j]) %% N

辅助功能代码:

在大局中,我试图模拟一个具有两个以上不同起点的随机游走过程。因此,参数Itl将是时间 (t-1) 的每次行走的值,并且此函数将递归更新这些值。

出于实际目的,我尝试使用A <- c(0, 2, 3, 2, 6)and测试该功能TakeOneIndStep(A, N = 9)

在这种情况下,A只是一个任意向量。有更多代码可以模拟步行,但我只是介绍了导致错误的部分。

0 投票
1 回答
76 浏览

c++ - 用&不正确循环c ++做while循环

当输入一个介于 1 到 7 之间的值时,程序应该检查该值是否为 1 到 7 以及输入的数字数组中的值是否不为 0 但该程序的问题是,如果值 House[0]或其他数组为 0 程序没有循环它继续运行

0 投票
1 回答
383 浏览

c++ - 为什么我使用 Shift Operator (C++) 得到随机结果?

在我一直在编辑的代码中,以前的程序员使用移位运算符将一个中等大的数字添加到 size_t 整数。当我出于调试目的使用这个特定整数时,我发现更改数字并没有产生可预测的结果。

输入:

产量:

我知道这是某种溢出错误,但(据我所知有限) size_t 不应该有这些。据我了解 size_t 是一种无符号整数类型,能够容纳几乎无限数量的整数。

根据我对位移运算符的理解,此代码应将数字乘以 2^20(1048576)。本站其他页面的链接: 什么是按位移位(bit-shift)运算符,它们是如何工作的?

注意 - 我手工计算出 foo1 似乎是一个 32 位二进制截断的溢出错误,但所有其他的对我来说似乎完全是随机的。

来自http://en.cppreference.com/w/cpp/types/size_t:std::size_t 可以存储理论上可能的任何类型(包括数组)对象的最大大小。据此,我认为问题必须在于整数的声明方式或位移的操作方式。

这是怎么回事?

0 投票
3 回答
3079 浏览

swift - 二元运算符'??' 不能应用于“AnyObject?”类型的操作数 和“字符串”

我已经用 Swift 2.2 完成了下面的代码,但是当切换到 Swift 3.0 时,如果条件“二元运算符'??' 不能应用于“AnyObject?”类型的操作数 和‘字符串’”

请提出解决方案,如上面的代码中的 if let 语句如果字典值返回 nil 然后我将空白字符串分配为 ("") 特定键

0 投票
1 回答
82 浏览

string - 使用 Go 对 CPU id 进行位掩码转换

我有一个掩码,其中包含 cpu_ids 的二进制计数(0xA00000800000对于 3 个 CPU),我想将其转换为string逗号分隔的 cpu_ids: "0,2,24"

我做了以下 Go 实现(我是 Go 初学者)。这是最好的方法吗?尤其是字节缓冲区的处理似乎效率低下!

回报:

“0,2,24”

0 投票
2 回答
793 浏览

c++ - 在 C++ 中重载二元关系运算符的正确方法

在 C++ 中重载二元关系运算符的正确/规范方法是什么?

使用成员函数还是friend自由函数更好?

例如:

或者:

0 投票
1 回答
844 浏览

javascript - 基于javascript / angularjs中的括号解析AND和OR条件语句?

好的,基本上,我有这样的声明;

是否可以根据括号分隔此字符串?这样我就可以得到回报;

像这样的东西。