Wie heißen diese [Duplikate]

8

Was sind diese Art von Anweisungen in C ++ genannt:

%Vor%     
Marcin 15.07.2010, 15:39
quelle

9 Antworten

8

ternäre Aussagen

    
chrissr 15.07.2010, 15:40
quelle
49

Das ist der bedingte Operator .

Der Ausdruck a ? b : c wird als b ausgewertet, wenn a wahr ist und c wenn a ist false .

In den meisten Sprachen ist dies das einzige Beispiel für einen ternären Operator, ein Operator, der drei Argumente benötigt.

    
SLaks 15.07.2010 15:41
quelle
18

Bedingter Ausdruck

%Vor%

Das '?' und ':' bilden den bedingten Operator.

    
cpx 15.07.2010 15:44
quelle
3

Ternärer Operator. Ссылка

    
Justin Summerlin 15.07.2010 15:41
quelle
3

(Als nerviger Nitpicker: Aus irgendeinem Grund, trotz der Tatsache, dass die Frage die Anweisung betrifft, geben die meisten Leute Antworten auf den Operator .)

Erstens, was Sie in Ihrem Beispiel haben, ist in der Tat eine Anweisung . Es wird eine -Ausdruckanweisung genannt. Es gibt verschiedene Arten von Anweisungen in C ++ (Deklarationsanweisung, Sprunganweisung, Iterationsanweisung usw.), und diese ist eine Ausdrucksanweisung. Also, wenn Ihre Frage in der Tat ist, was für eine Anweisung das ist, wäre die pedantisch korrekte Antwort: Es ist eine Ausdruckserklärung . Ende der Geschichte.

Wenn Sie nun tiefer gehen möchten, möchten Sie vielleicht den Ausdruck aussortieren, der in diesem Ausdruck verwendet wird. Der Ausdruck hat in diesem Fall einen bedingten Operator ?: auf der obersten Ebene. Der erste Operand für diesen Operator ist ein Unterausdruck, der einen relationalen Operator > verwendet ... und so weiter.

    
AnT 15.07.2010 15:53
quelle
2

Sprachsyntax

  

Was sind diese Art von Aussagen in   C ++ genannt:

Sie haben eine Frage mit mehreren Antworten gestellt. Technisch gesehen hängt es von der tatsächlich verwendeten Sprache ab, aber das, was Sie gezeigt haben, ist typisch für eine große Anzahl von Sprachen, die eine gemeinsame Syntax haben.

Anweisungen

Statements sind nur eine Möglichkeit, einen Tokenblock anzuzeigen, der als eine Einheit betrachtet werden kann. Anweisungen enden normalerweise mit einem Semikolon ";". Einige Anweisungen sind einfach wie

%Vor%

hat ein Schlüsselwort und ein Literal, während andere komplexer sind wie

%Vor%

mit einer Zuweisung, die von einem Rückgabeunterausdruck und einem arithmetischen Unterausdruck umfasst ist, einem Funktionsaufruf mit einer Argumentauflösung, die einen Multiplikationsunterausdruck mit einem Variablennachschlag als einen der Operanden enthält.

Ihre Aussage ist das Ergebnis eines Ausdrucks.

%Vor%

Bedingter Operator

Der bedingte Operator wird manchmal als "Ternärer Operator" bezeichnet. Es hat einen Operator und drei (daher ternäre) Operanden.

%Vor%

Die Ergebnisse von Exp1 oder Exp2 werden als Wert des bedingten Operatorausdrucks zurückgegeben, Exp1, wenn "Bedingung" wahr ist, andernfalls Exp2.

Erklärung

Der Conditional (ternary) Operator ist den Codern aus verschiedenen Gründen vielleicht nicht so vertraut.

Einer seiner typischen Verwendungszwecke ist die Vereinfachung von Code, wenn wir basierend auf bestimmten Bedingungen verschiedene Dinge zurückgeben möchten.

Zum Beispiel gegeben

%Vor%

können wir einfach ein Divisionsergebnis in einer Zeile zurückgeben

%Vor%

Wir könnten einfach die Rückgabe mit dem Ausdruck

erstellen %Vor%

Aber wir wollen uns vor einer Division durch Null schützen. Mit einem if / else-Block wäre Code Bloat.

%Vor%

Verwandte Fragen

Nach ternär oder nicht ternär?
Welchen Codierungsstil verwenden Sie für den ternären Operator?
Ist das eine vernünftige Verwendung des ternären Operators?

>     
Kelly S. French 15.07.2010 15:42
quelle
1

Es bedeutet

%Vor%

oder Sie können es so sehen:

%Vor%     
user392959 15.07.2010 16:43
quelle
1

Ternärer Operator.

Ihr Ausdruck dient dazu, festzustellen, ob der Wert wahr oder falsch ist. Zum Beispiel

boolean c = Testnummer & gt; 1? wahr: falsch;

Hier wird c basierend auf dem Wert von testNumber wahr oder falsch sein.

    
NikRED 15.07.2010 17:51
quelle
0

Es ist ein Ausdruck mit einem ternären (oder bedingten) Operator.

    
Jan Gorzny 15.07.2010 15:41
quelle

Tags und Links