operator-overloading

Operatorüberladung ist eine Funktion einer Programmiersprache, die benutzerdefinierte Implementierungen für Operatoren abhängig von den Typen der beteiligten Operanden ermöglicht. Einige Sprachen erlauben die Definition neuer Operatoren, während andere nur die Neudefinition bestehender Operatoren erlauben.
1
Antwort

C ++ Operator () und 'using' Deklaration: Der linke Operand muss ein l-Wert Fehler sein

Das folgende Beispiel veranschaulicht ein komplexeres, aber nicht unähnliches Problem, das ich elegant lösen wollte. Ich habe eine Reihe von Vorlagen, die spezialisiert sein müssen und dabei eine oder beide der zwei Schnittstellen implementieren...
04.01.2012, 03:43
1
Antwort

Korrektes Verhalten von integrierten Operatorkandidaten der Überladungsauflösung im Kontext des Operatorausdrucks

Momentan versuche ich den Absatz zu verstehen [over.match.oper] / 7 in der C ++ - Standard, aber der folgende Fall, bei dem GCC und Clang verschiedene Ergebnisse produzieren: Ссылка %Vor% Beschreibung in Normen Hier sind Zitate des...
09.08.2017, 23:55
1
Antwort

Warum wählt der Iostream-Operator die scheinbar falsche Überladung?

Betrachten Sie diesen Code: %Vor% Die Ausgabe ist (kompiliert mit dem VS2015 C ++ Compiler): %Vor% Es scheint also so, als ob der Compiler die erwartete const wchar_t* Überladung für f auswählt (da es eine implizite Konvertieru...
28.07.2017, 16:43
1
Antwort

Verbessert es die Sicherheit, Zuweisungsoperatoren als Lvalue-only zu markieren?

Wenn T ein Klassentyp mit der Standardunterschrift für den Zuweisungsoperator ist, können wir schreiben: %Vor% erzeugt eine hängende Referenz. Allerdings mit der Unterschrift: %Vor% Der obige Code mit Dangling-Referenz kann nicht komp...
19.02.2015, 04:09
1
Antwort

Fehler: 'operator []' ist nicht definiert

Ich habe ein Problem mit g ++ ein Fragment meiner Bibliothek zu kompilieren, die mit dem Operator [] verwandt ist.] Ich habe das gleiche Problem mit diesem Code neu erstellt: %Vor% g ++ beendet den folgenden Fehler: %Vor% Ich denke, d...
18.08.2011, 10:53
3
Antworten

Überladen des Operators in der Vorlage in C ++

Ich habe folgenden Code von irgendwo gelesen: %Vor% Was bedeutet die untere Zeile?    operator T () const {return a;}     
23.08.2011, 15:42
5
Antworten

Warum erlaubt Ruby nur das Überladen bestimmter Operatoren?

In Ruby sind Operatoren wie in vielen anderen OO-Programmiersprachen überladbar. Es können jedoch nur bestimmte Zeichenoperatoren überladen werden. Diese Liste ist möglicherweise unvollständig, aber hier sind einige der Operatoren, die nicht...
18.09.2008, 14:10
6
Antworten

C # Überladen des Zeichenoperators

G'Day Mates - Was ist der richtige Weg (ohne das Argument, ob es ratsam ist), die String-Operatoren & lt ;, & gt ;, & lt; = und & gt; =? zu überladen Ich habe es fünfmal bis Sonntag probiert und ich bekomme verschiedene Fehler - mein beste...
06.04.2010, 19:20
1
Antwort

Warum wird "operator void" nicht mit der Cast-Syntax aufgerufen?

Beim Spielen mit diese Antwort von Benutzer GMan Ich habe das folgende Snippet (kompiliert mit Visual C ++ 9) erstellt: %Vor% Nachdem ich mit dem Debugger übergegangen bin, habe ich herausgefunden, dass Casting auf void Class::operat...
27.10.2010, 08:30
6
Antworten

Überschreibe Operator +, um in Python Datum + Zeit = Datum zu setzen

Ich habe ein paar Klassen, die eingebaute Datetime erweitern. * Gibt es einen guten Grund, + ( MyTime.__radd___ ) nicht zu überladen, damit MyDate + MyTime MyDateTime zurückgibt?     
08.11.2010, 20:33