Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Opérateur Ternary | Sujets Avancés
Instructions Conditionnelles en C++

book
Opérateur Ternary

L'opérateur ternaire est un outil puissant souvent utilisé pour prendre des décisions rapides dans votre code et peut grandement améliorer la lisibilité du code lorsqu'il est utilisé de manière appropriée.

ternary.h

ternary.h

copy
condition ? expression_if_true : expression_if_false;
1
condition ? expression_if_true : expression_if_false;

La condition est évaluée. Si la condition est true, l'expression avant le ? est exécutée, sinon, l'expression après le : est exécutée.

L'opérateur ternaire est essentiellement juste une alternative à l'instruction if-else, offrant la lisibilité et la commodité du code.

if_else.h

if_else.h

ternary.h

ternary.h

copy
int variable;
if (condition)
{
variable = 25;
}
else
{
variable = 10;
}
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

Comme vous pouvez le voir, l'utilisation de l'opérateur ternaire peut économiser de l'espace de code et améliorer la lisibilité et l'efficacité. Cependant, il est important de maintenir un équilibre et de préserver la maintenabilité et la compréhensibilité du code.

Les opérateurs ternaires peuvent également être imbriqués pour gérer des conditions plus complexes. Mais ne tombez pas dans un piège rempli d'opérateurs ternaires.

nested_ternary.h

nested_ternary.h

copy
std::string eligibility =
age < 18
? "Too young"
: (isStudent
? (hasJob
? "Eligible for student discount"
: "Eligible for student perks")
: (hasJob
? "Eligible for job-related benefits"
: "Not eligible"));
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

Il est vraiment difficile de comprendre ce qui se passe. Il est donc préférable de se limiter à un seul opérateur ternaire, avec un maximum de un niveau d'imbrication à tout moment.

Tâche

Swipe to start coding

  1. Trouvez la plus grande valeur des variables x, y et z en utilisant des opérateurs ternaires imbriqués.
  2. Affichez-la dans la console.

Solution

solution.cpp

solution.cpp

#include <iostream>

int main()
{
int x = 25;
int y = 102;
int z = 88;
int max = (x > y) ? ((x > z) ? x : z) : ((z > y) ? z : y);
std::cout << max << std::endl;
}

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

#include <iostream>

int main()
{
int x = 25;
int y = 102;
int z = 88;
int max = (___) ? ((___) ? _ : _) : ((___) ? _ : _);
std::cout << max << std::endl;
}

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt