首页 > TAG信息列表 > operator-keyword

python捕获函数

我写了下面的代码. from operator import mul from operator import truediv #python 3.2 class Vec(list): def __mul__(self, other): return Vec(map(mul, self, other)) def __truediv__(self, other): return Vec(map(truediv, self, other)) >

Javascript-在Typescript中,有什么方法可以将类编写为数组,所以我可以做class [i],就像C#中的List

我是一位从C#开始的新游戏开发人员. 现在我需要将我的游戏之一转移到打字稿上. 我试图用我在C#中非常熟悉的打字稿自定义列表. 我的代码如下: export class List { private items: Array; constructor() { this.items = []; } get count(): number { return this.items.l

如果条件\u0026\u0026条件不起作用

AND&&&运算符不起作用,但是当我用OR ||替换它时操作很麻烦,为什么呢?我只是使用OR ||测试运算符,我需要的是&&运算符. 请帮忙.谢谢 function validate() { if ((document.form.option.value == 1) && (document.form.des.value == '')) { alert("Please complete the

可以获取“运算符”结果的参考吗?

是否可以某种方式获取C#中重载运算符的结果的引用,因此您不必使用“ new”关键字来创建临时结果(此后将返回)? 这是我遇到的一个问题的示例: public class Stats { public float someField; public float someOtherField; public static Stats operator +(Stats a, St

Python / Django-“ and”运算符和“&”运算符有什么区别

我有一个有趣的Django问题. 考虑以下: Model.objects.filter(Q(id='test1') and Q(id='test2')) 这将返回预期结果,但是 Model.objects.filter(Q(id='test1') & Q(id='test2')) 才不是!! 这里发生了什么?解决方法:如果您希望Django ORM返回test1和test2,则应使用: Model.objec

android-运算符==不能应用于Kotlin中的’Long’和’Int’

我正在尝试在Kotlin中实现Mike Penz的NavigationDrawer(https://github.com/mikepenz/MaterialDrawer)的某些部分.从那以后,我只遇到了几个问题,主要是关于操作符的.这是实例化抽屉本身的代码的一部分.除了在int和Long变量上使用==运算符的地方,Android Studio不会引发任何错误:

c-什么是“ :: operator new”和“ :: operator delete”?

我知道new和delete是关键字. int obj = new int; delete obj; int* arr = new int[1024]; delete[] arr; &LT新&GT标头是C标准标头的一部分.它有两个运算符(我不确定它们是运算符还是函数): :: operator new ::运算符删除 这些运算符的用法如下: #include <new> using namespace

PHP运算符优先级“未定义的评估顺序”?

http://www.php.net/manual/en/language.operators.precedence.php#example-115 <?php $a = 1; echo $a + $a++; // may print either 2 or 3 ?> php手册中的例子并不能很好地解释.为什么不将$a计算为2,然后加到1,这样它总是变为echo 1 2 //等于3?我不明白它是如何“打印2或3”.我

c – 两个不同对象的交换运算符重载

我有2个代表矩阵的类: 1. RegularMatrix – O(n ^ 2)表示2. SparseMatrix – 表示为链表(没有零)的矩阵. 让我说我有: RegularMatrix a; SparseMatrix b; 我希望能够做到: a+b; 并且: b+a; 所以我正在超载操作符.我的问题是,既然我希望加法是可交换的(a b = b a),我是否需要实

c – 如何创建和使用类箭头运算符?

因此,在研究了它到处之后,我似乎无法找到如何创建类箭头运算符,即 class Someclass { operator-> () /* ? */ { } }; 我只需要知道如何使用它并适当地使用它. – 它的投入是什么? – 它返回什么? – 我如何正确声明/原型化?解决方法:操作符 – >用于超载成员访问权限.一个小

当我的对象位于C的右侧时,如何重载运算符*?

我想实现“operator *”重载INSIDE我的类,所以我将能够执行以下操作: Rational a(1, 2), b; b = 0.5 * a; // b = 1/4 请注意,b在右侧,是否有办法在“Rational”类中执行此类操作?解决方法:不可以.您必须将operator *定义为自由函数.当然,您可以根据第二个参数的成员函数来实现它.

python – ‘=’和’=’之间的区别?

参见英文答案 > What’s the purpose of the + (pos) unary operator in Python?                                    5个 所以我有一段简单的代码打印出整数1-10: i = 0 while i < 10: i += 1 print(i) 然后,如果您只是在

Python的’in’效率/速度有多快? (明智的时间复杂性)

在Python中,in关键字的效率是多少,例如: a = [1, 2, 3] if 4 in a: ... 解决方法:这取决于右手operand: The operators in and not in test for collection membership. […] The collection membership test has traditionally been bound to sequences; an object is a membe

python – 设置“in”运算符:使用相等或身份?

class A(object): def __cmp__(self): print '__cmp__' return object.__cmp__(self) def __eq__(self, rhs): print '__eq__' return True a1 = A() a2 = A() print a1 in set([a1]) print a1 in set([a2]) 为

c – 在operator <<中执行的顺序

我很难理解下面代码中的调用顺序. 我期待看到下面的输出 A1B2 虽然我可以看到我得到的输出是 BA12 我以为调用std :: cout<< b-> fooA()<< b-> fooB()<< std :: endl等同于调用 std::cout.operator<<( b->fooA() ).operator<< ( b->fooB() ) 但我可以看到情况并非

Python就地操作符函数与标准操作符函数有何不同?

为什么operator.iadd(x,y)不等于z = x; z = y? operator.iadd(x,y)与operator.add(x,y)有何不同? 从docs: Many operations have an “in-place” version. The following functions provide a more primitive access to in-place operators than the usual syntax does; f

c – 运算符重载<<错误

我试图重载运算符<< const ostream & operator<<(const ostream& out, const animal& rhs){ out << rhs.a; return out; } 似乎我得到一个错误,因为我返回一个const,也因为第一个参数是对一个ostream对象的const引用. cout << objectOfAnimal1 << objectOfAnimal

c – 为vector类编写sort()方法

我正在编写自己的矢量类Vector,其数据成员为:T * array,size_t vector_size和size_t capacity.我想创建一个sort()方法: template <class T> void Vector<T>::sort(bool ascendi

c – 有人可以向我解释为什么在LLVM的以下代码中使用相同的操作数进行不等式测试?

我的同事向我展示了LLVM source code中的以下宏: #define IMPLEMENT_UNORDERED(TY, X,Y) \ if (TY->isFloatTy()) { \ if (X.FloatVal != X.FloatVal || Y.FloatVal != Y.

c抽象基类后缀运算符

我有一个关于实现共享迭代器接口的问题. 作为postix运算符的常见做法,函数可能如下所示: IteratorClass operator ++(int) { IteratorClass temp = *this; //increment stuff return temp } 大多数时候这很好.在我的情况下,我试图为一个类实现3个迭代器.每个迭代器都将加

java – 没有双引号的字符串追加

我是java的初学者.我对String上的=操作有疑问.为什么我可以使用=运算符来追加没有双引号的String对象? 例如,我在这段代码上没有编译错误 String s1 = "abc"; String s1+=42; 当我真的以为我必须使用s1 =“42”时;解决方法: String s1+=def; 该行有效然后def是另一个Java String

c – 让课程与运算符一起工作的更简单方法?

在这里,我有一个名为Value的类,它只能获取并设置float. class Value { public: Value(float f) :f(f){}; float get() { return f; } void set(float f) { this->f = f; } private: float f; }; 我希望我的班级能够像以下示

python中的重载*运算符(或模拟它)

我想在python中重载*运算符.在C中,您可以重新设置解引用运算符,以便您可以使用自定义方式创建一个响应* alpha的类. 这个问题的一部分是我完全不知道,我的意思是,*运算符(我称之为解包运算符)的确如此. 那么如何重载它,或模拟它的重载. 最终我希望能够:*带有自定义响应和返回值的alp

C运算符歧义

原谅我,因为我对C很新,但我在运算符歧义方面遇到了一些麻烦.对于我桌面上编译的代码,我认为它是特定于编译器的.但是,它无法在我的笔记本电脑上编译.我想我知道出了什么问题,但我看不到它的优雅方式.如果我犯了一个明显的错误,请告诉我.无论如何,这就是我要做的事情: 我创建了自己的

c – 如何使用swig Python重载下标运算符

我有一个包含std :: vector< Foo>的类.其中Foo是一个包含键,值,注释等的类.请注意,我使用向量而不是字典是有原因的. 我在C中重载了下标运算符,使得foos [“Key Name”]将在向量中搜索具有键匹配“Key Name”的Foo对象(其中foos是std :: vector< Foo>). 我使用SWIG为我的库创建一个