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

Können Operatoren für initializer_list-Literale überladen werden? [Duplikat]

Ich versuche, Operatoren für std::initializer_list zu überladen, aber die folgenden kompiliert weder in GCC 4.7.2 noch Clang 3.2: %Vor% 13.5 / 6 besagt, dass eine Operatorfunktion mindestens einen Parameter haben soll, dessen Typ eine K...
16.01.2013, 23:55
3
Antworten

mit dem klassenspezifischen set_new_handler

Für die klassenspezifische Implementierung von new_handler bin ich auf das folgende Beispiel im Buch "effective c ++" gestoßen. Dies scheint ein Problem in Multithread-Umgebungen. Meine Frage ist, wie man in Multithread-Umgebungen klassenspezifi...
26.08.2009, 02:06
3
Antworten

Warum wird == in System.Double überschrieben, aber nicht in System.Int32 und was sind die Auswirkungen davon?

In C # Warum überschreibt Double == , aber Int32 nicht und was ist der Effekt? Ich schaue auf die msdn-Bibliothek. Ich sehe diesen Link über double, der nicht viel hier sagt (obwohl ich verstehe double ist eine Abkürzung für das...
21.04.2014, 19:56
1
Antwort

Warum Standard-Container-Iteratoren '- *' nicht überladen?

Anscheinend funktioniert ->* nicht automatisch, wenn Sie -> überladen, und muss manuell überladen werden. Warum Iteratoren für Standardcontainer ->* nicht zusätzlich zu -> überladen, erzwingen die Verwendung von (*ite...
05.02.2018, 15:34
1
Antwort

Kann ein überladener Operator in eine Nicht-Member-Funktion umgewandelt werden, um Code zu brechen?

Betrachten Sie eine Legacy-Klassenvorlage mit überladenen Additionsoperatoren += und + %Vor% Bei der Code-Überprüfung wird beobachtet, dass + in += implementiert werden kann. Warum also nicht ein Nicht-Member (und garantiert Symm...
28.09.2014, 20:10
1
Antwort

C ++ Operator Zeichenfolge und char * verursacht mehrdeutigen Fehler

Ich versuche, eine Klasse mit Konvertierungsoperatoren zu string und char * zu machen, was zu mehrdeutigen Aufruffehlern führt, wenn versucht wird, eine Zeichenfolge zu erstellen. Angenommen, ich habe die folgende Klasse: %Vor% und die folge...
16.11.2016, 09:57
7
Antworten

Definieren Sie den Operator ** in C ++

Wie kann ich den Operator ** so definieren, dass er 2 Zahlen potenzieren kann? zB 2 ** 3 . Es sollte als Antwort 8 geben. Oder gibt es indirekt eine Möglichkeit, dies mit Operatorüberladung statt #define Makros zu machen?     
28.10.2013, 10:11
7
Antworten

Überladbare C ++ - Operatoren

Welche Operatoren können in C ++ nicht überladen werden?     
20.05.2010, 14:22
4
Antworten

Wie unterscheidet man (beim Überladen) zwischen Präfix- und Postfix-Formen des Operators ++? (C ++)

Weil ich operator++ für eine Iteratorklasse überladen habe %Vor% Aber wenn ich es versuche %Vor% Ich erhalte eine Warnung, dass es keine Postifx ++ gibt, die das Präfixformular verwendet. Wie kann ich die Prefix- / Postifx-Formular...
21.05.2009, 19:55
5
Antworten

operator [] [] C ++

Ich möchte operator[][] überladen, um internen Zugriff auf ein 2D-Array von Zeichen in C ++ zu geben. Im Moment übertreibe ich nur operator[] , was ungefähr so ​​aussieht wie %Vor% Es funktioniert ok. Ist es möglich, operator[][]...
28.03.2010, 14:29