Tag: 运算

具有多个参数的C ++ 数组运算符?

我可以在C ++中定义一个具有多个参数的数组运算符吗? 我试过这样的: const T& operator[](const int i, const int j, const int k) const{ return m_cells[k*m_resSqr+j*m_res+i]; } T& operator[](const int i, const int j, const int k){ return m_cells[k*m_resSqr+j*m_res+i]; } 但是我得到这个错误: error C2804 binary operator '[' has too many parameters

在Perl中分配三元条件运算符的问题

我的程序中的这段Perl代码给出了错误的结果。 $condition ? $a = 2 : $a = 3 ; print $a; 不pipe$condition的值是多less,输出总是3,怎么回事?

Javascript:运算符重载

我已经使用JavaScript了几天,现在已经到了一个地步,我想重载我的定义对象的操作符。 谷歌search后,似乎你不能正式这样做,但有几个人在那里声称做了这个行动的一个冗长的方式。 基本上我做了一个Vector2类,并希望能够做到以下几点: var x = new Vector2(10,10); var y = new Vector2(10,10); x += y; //This does not result in x being a vector with 20,20 as its x & y values. 相反,我必须这样做: var x = new Vector2(10,10); var y = new Vector2(10,10); x = x.add(y); //This results in x being a vector with […]

variables操作符是可能的吗?

有没有办法做到类似于以下任何一种: var1 = 10; var2 = 20; var operator = "<"; console.log(var1 operator var2); // returns true – 要么 – var1 = 10; var2 = 20; var operator = "+"; total = var1 operator var2; // total === 30

运算符优先与Javascript三元运算符

我似乎不能把这个代码的第一部分(+ =)与三元运算符结合起来。 h.className += h.className ? ' error' : 'error' 我认为这个代码的工作方式如下: h.className = h.className + h.className ? ' error' : 'error' 但这是不正确的,因为这在我的控制台中给出了一个错误。 所以我的问题是我应该如何正确插入代码?

我如何重载C#中的方括号运算符?

DataGridView,例如,让你这样做: DataGridView dgv = …; DataGridViewCell cell = dgv[1,5]; 但在我的生活中,我无法find索引/方括号运算符的文档。 他们叫什么? 它在哪里实施? 它可以扔? 我怎样才能在自己的课堂上做同样的事情? ETA:感谢所有的快速回答。 简而言之:相关文件在“项目”属性下; 重载的方法是通过声明一个像public object this[int x, int y]{ get{…}; set{…} } public object this[int x, int y]{ get{…}; set{…} } ; DataGridView的索引器不会抛出,至less根据文档。 它没有提到如果你提供无效的坐标会发生什么。 ETA再次:好的,尽pipe文档没有提到它(顽皮的微软!),事实certificate,DataGridView的索引器实际上会抛出一个ArgumentOutOfRangeException,如果你提供了无效的坐标。 公平的警告。

为什么这两个乘法运算有不同的结果?

为什么我需要添加一个“L”字母来获得正确的长值? 另一个价值是什么? long oneYearWithL = 1000*60*60*24*365L; long oneYearWithoutL = 1000*60*60*24*365; System.out.println(oneYearWithL);//gives correct calculation result : 31536000000 System.out.println(oneYearWithoutL)//gives incorrect calculation result: 1471228928

如何math评估像“2-1”的string来产生“1”?

我只是想知道如果PHP有一个function,可以采取像2-1的string,并产生它的算术结果? 或者我将不得不使用explode()手动执行此操作以获取算术运算符左侧和右侧的值?

应该在JavaScript比较中使用哪个等于运算符(== vs ===)?

我正在使用JSLint来通过JavaScript,并且它返回了很多build议,以便在比较idSele_UNVEHtype.value.length == 0时候用=== (三个等号)replace== (两个等号) if声明。 用===replace==是否有性能优势? 任何性能改进都会受到许多比较运算符的欢迎。 如果没有types转换发生,会有比==更好的性能吗?

运算符重载的基本规则和习惯用法是什么?

注意:答案是按照特定的顺序给出的,但是由于许多用户根据投票分类答案,而不是按照给定的时间排列答案,下面是答案的索引,按其最有意义的顺序排列: C ++中运算符重载的一般语法 C ++中运算符重载的三个基本规则 会员与非会员之间的决定 常见的运营商超载 指派操作员 input和输出操作符 函数调用操作符 比较运营商 算术运算符 arrays下标 指针types的运算符 转换运算符 重载新的和删除 (注意:这是一个Stack Overflow的C ++常见问题解答的入口,如果你想批评在这个表单中提供FAQ的想法,那么在这个开始所有这些的meta上的贴子将是这个地方的答案。那个问题在C ++聊天室中进行监控,常见问题解决scheme首先出现,所以你的答案很可能会被那些提出这个想法的人阅读)。