标签: operator-keyword

如何正确地覆盖平等?

我仍然是超载运营商的新手.在我遇到这个问题之前,我以为自己做得很好.在!=运算符上抛出NullReferenceException.我假设它在CompareTo方法中使用它,但我不完全确定.如果有人能指出我正确的方向,我将非常感激.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            List<Task> tasks = new List<Task>();
            tasks.Add(new Task( "first",  DateTime.Now.AddHours(2)));
            tasks.Add(new Task( "second", DateTime.Now.AddHours(4)));
            tasks.TrimExcess();
            tasks.Sort();
        }
    }
    public class Task : IComparable
    {
        public Task()
        {
        }
        public Task(string nameIn, DateTime dueIn)
        {
            nameOfTask = nameIn;
            dateDue = dueIn;
        }
        DateTime dateDue;
        string nameOfTask;

        public static bool operator <(Task …
Run Code Online (Sandbox Code Playgroud)

c# binary overloading operator-keyword

7
推荐指数
1
解决办法
516
查看次数

Java中的%=是什么意思?

%=如何在Java中工作?我被告知它可以用来重新分配一个值?

感激如果有人可以教!谢谢!

minutes=0;
while(true){
minutes++;
minutes%=60;
}
Run Code Online (Sandbox Code Playgroud)

java variable-assignment operator-keyword modulus

7
推荐指数
1
解决办法
7万
查看次数

正则表达式匹配所有\ p {L}但不匹配\ p {Alpha}

我怎样才能匹配所有\p{L}但不是\p{Alpha}正则表达式?是否可以AND在Java的Regexp中实现逻辑?如果答案是肯定的,那怎么能实现呢?

java regex operator-keyword

7
推荐指数
2
解决办法
1109
查看次数

嵌套if语句和"&&"运算符

if(a() && b() && c() && d())
   doSomething();


if(a())
   if(b()) 
      if(c())
         if(d())
            doSomething();
Run Code Online (Sandbox Code Playgroud)

这两者之间是否存在"任何"性能差异?

例如,在a()变为0的情况下,它是否会在第一个if语句中继续运行b(),c()和d()?或者它会与第二个嵌套的if语句一样工作吗?

c++ if-statement nested operator-keyword

7
推荐指数
1
解决办法
1565
查看次数

大熊猫在LOC功能中使用和操作

我希望在loc函数中有2个条件但是&&或者and运算符似乎不起作用:

DF:

business_id  ratings  review_text
xyz          2        'very bad'
xyz          1        'passable'
xyz          3        'okay'
abc          2        'so so'
Run Code Online (Sandbox Code Playgroud)

mycode的:我试图收集所有review_text它的收视率< 3,并有id = xyz到一个列表

 id = 'xyz'
mylist = df.loc[df['ratings'] < 3 and df[business_id] ==id,'review_text'].values.tolist()
Run Code Online (Sandbox Code Playgroud)

我应该得到:

['very bad','passable']
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用,我得到错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

我如何and在这里正确使用操作员?

python operator-keyword pandas

7
推荐指数
1
解决办法
5442
查看次数

如何访问分配给函数内函数结果的变量名称?

例如,假设我希望能够定义一个函数,该函数返回与第一个参数连接的赋值变量的名称:

a <- add_str("b")
a
# "ab"
Run Code Online (Sandbox Code Playgroud)

上面示例中的函数看起来像这样:

add_str <- function(x) {
  arg0 <- as.list(match.call())[[1]]
  return(paste0(arg0, x))
}
Run Code Online (Sandbox Code Playgroud)

但是,函数的arg0行被一行替换,该行将获得被赋值变量的名称("a")而不是函数的名称.

我已经尝试过使用match.call和sys.call,但我无法让它工作.这里的想法是在变量和函数结果上调用赋值运算符,因此应该是函数调用的父调用.

r variable-assignment operator-keyword

7
推荐指数
2
解决办法
356
查看次数

operator <<重载ostream

为了使用cout:std :: cout << myObject,为什么我必须传递一个ostream对象?我认为这是一个隐含的参数.

ostream &operator<<(ostream &out, const myClass &o) {

    out << o.fname << " " << o.lname;
    return out;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ overloading ostream operator-keyword

6
推荐指数
1
解决办法
3577
查看次数

语法与算子相关性之间的关系

一些编译器书籍/文章/论文谈论语法的设计及其运算符的关联性的关系.我是自上而下的狂热粉丝,特别是递归下降,解析器和迄今为止我编写的大多数(如果不是全部)编译器都使用以下表达式语法:

Expr   ::= Term { ( "+" | "-" ) Term }
Term   ::= Factor { ( "*" | "/" ) Factor }
Factor ::= INTEGER | "(" Expr ")"
Run Code Online (Sandbox Code Playgroud)

这是该BNF的EBNF表示:

Expr  ::= Term Expr'
Expr' ::= ( "+" | "-" ) Term Expr' | ?
Term  ::= Factor Term'
Term' ::= ( "*" | "/" ) Factor Term' | ?
Factor = INTEGER | "(" Expr ")"
Run Code Online (Sandbox Code Playgroud)

根据我所读到的,有些人认为这种语法是"错误的",因为操作员关联性的变化(这4个操作员从左到右)由不断增长的解析树向右而不是向左证明.对于通过属性语法实现的解析器,这可能是正确的,因为l-attribute值要求首先创建此值,然后传递给子节点.然而,当使用普通的递归下降解析器实现时,由我决定是先构造此节点然后传递给子节点(自上而下)还是先创建子节点然后将返回的值添加为此节点的子节点(通过在这个节点的构造函数中)(自下而上).我应该在这里找到一些东西,因为我不同意这句话说这个语法是"错误的",而且这种语法已被用于许多语言中.Wirthian的.通常(或全部?)表示它的读数会促进LR解析而不是LL.

parsing associativity operator-keyword

6
推荐指数
1
解决办法
1351
查看次数

`operator()...`在C++代码中意味着什么?

我试图理解std::visit来自cppreference的例子,我在哪里看到以下代码行:

template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>;
Run Code Online (Sandbox Code Playgroud)

我不明白.operator()...代码中的含义是什么?

c++ templates variant operator-keyword c++17

6
推荐指数
3
解决办法
1277
查看次数

在没有返回值优化的情况下将两个对象添加到一起时会创建多少个临时对象?

在阅读Scott Meyers所着的"更有效的C++"一书的第20和22项后,我决定提出这个问题.

假设你写了一个代表有理数的类:

class Rational
{
public:
    Rational(int numerator = 0, int denominator = 1);

    int numerator() const;
    int denominator() const;

    Rational& operator+=(const Rational& rhs); // Does not create any temporary objects
    ...
};
Run Code Online (Sandbox Code Playgroud)

现在让我们说你决定operator+使用operator+=:

const Rational operator+(const Rational& lhs, const Rational& rhs)
{
    return Rational(lhs) += rhs;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果禁用返回值优化,将创建多少个临时变量operator+

Rational result, a, b;
...
result = a + b;
Run Code Online (Sandbox Code Playgroud)

我相信会创建2个临时值:一个Rational(lhs)是在body体内执行的operator+,另一个operator+是在返回的值是通过复制第一个临时值创建的.

当Scott提出这个操作时,我的困惑出现了:

Rational result, a, b, …
Run Code Online (Sandbox Code Playgroud)

c++ effective-c++ operator-keyword return-value-optimization copy-elision

6
推荐指数
1
解决办法
153
查看次数