2017-06-28 4 views
-6

Sind Operatoren '+' und '-', um die Vorzeichen ihrer Operanden zu manipulieren?Gibt es SIGN-Operatoren in C++?

Ich weiß jetzt, ich meinte unäre Plus und Minus-Operatoren!

Ich habe diesen Operator noch nie zuvor gesehen.

Wurden sie in C++ 11 oder späteren C++ - Standards eingeführt?

+0

Sie meinen hinzufügen und subtrahieren? – meowgoesthedog

+0

Ich meine nicht hinzufügen und subtrahieren. – Jeonghum

+3

Unäre + und -? Sie existieren seit immer – StoryTeller

Antwort

5

Unary + und - haben seit den frühen Formulierungen von C in den 1970er Jahren bestanden.

Beachten Sie, dass +nicht ist ein No-op: Es wird das Argument zu mindestens einem int Art erweitern.

Schließlich ist zu beachten, dass -1 ist nicht eine wörtliche in C++: es ist eine Kompilierung-auswertbaren konstanten Ausdruck der unäre Negation der int wörtlichen 1.

+0

In Bezug auf "nicht no-op" muss man sich auch daran erinnern, dass in C++ diese Operatoren auch überladen sein können. –

+1

Es wird auch Arrays, Funktionen und Capture-less lambdas in Zeiger zerlegen :) – Quentin

+0

^- Was ist alles nützlich, um bestimmte Vorlage Argument Abzug oder Überladung Auflösung zu gewährleisten – StoryTeller

0

Ja, C++ unterzeichnet Operatoren aus.

int a; 
a = -20; //valid 
a = a + (-30) //valid 

Lesen Sie mehr über signierte und unsignierte Datentypen here und unäre Operatoren here.