Der ternäre Operator ? : in C ++




тернарный оператор ?: C++

Hoffnung, Sie sind gut mit dem Thema befasste wählen Sie, ob und else-Anweisungen und Sie sind nicht allzu schwer zu lösen Aufgaben zu diesem Thema. Die gleiche Lektion wir auch weiterhin die Grundlagen der Programmierung in C ++, zu lernen und mit einer anderen Auswahl Betreiber kennen zu lernen (Zweig) – Das ternäre Operator ? :

Es wird normalerweise in Fällen verwendet, und wenn der Bedingungscode, dass es notwendig ist, durchzuführen,, die Scan-Bedingungen, sehr einfach. Z.B, bitten Sie den Benutzer, ob er im Programm oder wollen aus ihm heraus weiterarbeiten will,. Die Syntax ist:

тернарный оператор ?:

Erstens brauchen wir eine notwendige Bedingung für uns zu schreiben und ein Fragezeichen dahinter setzen ? . weiter, in der gleichen Zeile, nach dem Fragezeichen Schreib zunächst einen einfachen Befehl (bei), die durchgeführt werden, wenn die Bedingung true zurückgibt (wahr). Nach diesem Befehl setzen wir einen Doppelpunkt : und schreiben einen zweiten Befehl (bei). Das zweite Team nach dem Doppelpunkt, nur ausgeführt, wenn, wenn die Bedingung false zurück (falsch).

Beispiel. Angenommen, ein Benutzer Geld von einem Geldautomaten zurückzieht. Er hatte die Operation, und der Bildschirm sollte Frage erscheinen: “Sie möchten einen weiteren Vorgang ausführen?” Der Benutzer ist eine Wahl zu treffen (ja oder Nein) und drücken Sie die entsprechende Taste. Wir organisieren die Auswahl des folgenden Programms:

Der Benutzer trifft eine Auswahl und gibt einen Wert – Reihe 13. Im Einklang 15 Wir überprüfen den eingegebenen Wert. Wenn die Bedingung Variable == 1 Retouren wahr (das heißt, wenn die Variable ist wirklich 1), der ausgeführten Code, nach dem Fragezeichen befindet ? . und die, das heißt nach dem Doppelpunkt : – ignoriert. andernfalls, wenn der Benutzer eingegebenen 0, den Code ignoriert die zwischen ? und : , und der zweite Code wird ausgeführt,. Hier ist das Ergebnis der Arbeit, wenn eingeführt 1:

тернарный оператор ?:

wenn 0:

тернарный оператор ?:

Hier ist ein weiteres interessantes Beispiel. In ihm, mit dem ternären Operator, bestimmt minimale und maximale Anzahl der beiden Werte, die den Benutzer einführen.

Betrachten Sie die Zeile 20. Der Code wird ausgeführt, als – erste Lauf für den ternären Operator, wird einen Wert zurückgeben, auf der Grundlage der Auslieferungszustand, und nachdem der Wert wird in die Variable geschrieben max. Wenn die Bedingung (FIRSTDIGIT > secondDigit) – Wahrheit, Bedeutung FIRSTDIGIT aufgezeichnet in max , wenn falsch, der aufgezeichnete Wert secondDigit. Weiterhin sollte es verstanden werden,. Kompiliruem:

тернарный оператор ?:

Das Programm funktioniert gut!

Ein wenig über die ternäre Operator wird in diesem Video-Tutorial erzählt (15-Minuten). Außerdem, es befasst sich mit dem gleichen Betreiber multiple Choice Schalter (17-Minuten) und bedingte Anweisungen ob und sonst




schließlich hinzufügen, Es ist nicht der ternäre Operator auf einige Vereinbarungen über die Codierung empfohlen zu verwenden, da, es reduziert die Lesbarkeit des Codes. Aber es ist notwendig zu wissen, über, da kann niemand vorhersagen, welche Codes müssen in die Zukunft zu finden und zu lesen. Coding-Konventionen mehr finden Sie in unserem Artikel gefunden werden Formatierung Quellcode.

Würden Sie sagen, “Vielen Dank” Autor? – Teile diesen Artikel mit deinen Freunden. Um dies zu tun, klicken Sie auf Ihrem sozialen Netzwerk Button diesem Artikel. Ich werde gerne! :)

Newsletter neue Lektionen über die Programmierung:

Datum
Seite
Der ternäre Operator ? : in C ++
Wertung
51star1star1star1star1star

5 Gedanken zu "Der ternäre Operator ? : in C ++

  1. IMHO sollte hinzugefügt werden,, dass nicht generell alle Kodierungskonventionen in den ternären Operator verwenden dürfen, tk. fällt oft eine gute Lesbarkeit des Codes.

    So:

    sicherlich besser zu machen.
    1) Sie verfügen über eine variable – eine Variable vom Typ Bool, daher variabel == 1 wird durch eine Variable ersetzt.
    2) Haben Sie Booleschen Variablen mit Integer-Vergleich, es können auch andere Programmierer verwirren.
    3) Nach Ansicht einiger Vereinbarungen über die Codierung im Vergleich zur Gleichstellung muss ein konstanter Ausdruck auf der linken Seite sein (fehlgeschlagen Variable zu schreiben = 1 anstelle von Variable == 1, tk. 1 = Variable wird ein Fehler bei der Kompilierung erzeugen).
    4) Ich hätte geschrieben als:

    Eine Reihe von Genossen geraten, stattdessen eine Variable wahr == Variable schreiben, aber hier ist es möglich, zu argumentieren, :).

    In der Regel den gesamten Code so. Ich habe es:

    ersetzt, wie (über):

    dann macht es keinen Sinn, einen Vergleich durchzuführen 2 Zeiten, und es macht keinen Sinn, die Bedingung in Klammern nehmen

    Das letzte Beispiel zeigt,, dass der Darm nicht durch ein Team und das andere Team geteilt (wie Ihre Figur), und Ausdruck. Außerdem würde ich erwähnen,, dass der Komma-Operator gibt den gleichen Wert.

    1. rrrFer (aka Vladimir), Das ist großartig, dass Sie so sorgfältig unsere Artikel lektorieren. Was kann man sagen, auf Ihren Kommentar? Ich werde sagen – verbessern und den Code optimieren kann bis unendlich sein. Durch Ihre Leser sehen den Kommentar, dass gleiche Aufgabe kann auf verschiedene Weise gelöst werden und dass es verschiedene Optionen für die mit Variablen zu tun bulevksimi. In Ihrem Fall ist mehr optimiertem Code. Aber mein Code ist im Detail gemalt (so konzentrieren wir uns in erster Linie auf Newcomer) und in ähnlicher Weise,, wie Sie Ihren Code, Er hat das Recht auf Leben.
      P.S. Fluchend Ihrer Kommentare gelöscht und in der Zukunft möchte sie nicht zu sehen

      1. ummm… meine Kommentare wurden Vereidigung? )

        Ich weiß nicht einmal Artikel lektorieren, Ich schaute auf die Zeichnung und den Quellcode.

        Der Punkt hier ist nicht in der Optimierung, und potenzielle Thürpfosten, das wird nie angezeigt, wenn Sie einige Vereinbarungen folgen.

        Nun, zum Beispiel, Wenn Sie vergleichen, um eine Boolesche Variable auf eine ganze Zahl, Was ist los? – Es wird einen Bool zu bringen int, während in der Norm festgelegt, das entspricht der wahren Einheit, а falsch – Null. Aber wenn eine ganze Zahl zu gieße Bool, die 2 == Wahr wäre true zurück (aber das ist nicht so, Obwohl alle Arten von Studenten und Schüler kann daran zweifeln,, weil sie nicht Standard gelesen).

        Über die Vereinbarung, schrieb ich an die, es gibt Tücken. Zum Beispiel, wenn Sie eine Klasse von komplexen Zahlen schreiben und es für einen Vergleichsoperator neu zu laden, und der Cast-Operator auf den Typ bool. Ich denke, dass eine andere und gefährliches Verhalten in diesem Fall erhalten. dh. richtig, die Variablen des gleichen Typs zu vergleichen, und nicht erwarten, dass es wirft automatisch.

        Ich denke, dass der Schwerpunkt sollte auf einer Fall getan werden, wenn es notwendig ist, den ternären Operator zu verwenden,, dh. wenn es nützlich,. Ohne sie alles, was Sie tun können,, aber es ist syntaktischer Zucker, die oft mißbrauchten Schüler und Studenten. schreiben wie diese über:

        Wir haben eine Vereinbarung zur Codierung aufgeführt waren Fälle, in denen der Betreiber zu verwenden, um erlaubt ist ein solcher Code hier zu verhindern,.

      2. Wir stimmen voll und ganz, ohne dass der ternäre Operator kann in der Programmierung zu tun. Aber Sie müssen wissen,, so dass es, wie es aussieht und wie es funktioniert. Man kann nie wissen, einige Code des Menschen, die Sie gelesen haben und dass es verwendet werden.

Hinterlasse eine Antwort

Platz Code in Tags: <pre class="lang:c ++ dekodieren:true ">DEIN CODE</Vor>