Условная операция (?:)

Условная операция " ?: " - единственная трехчленная (тернарная) операция

в C++, имеющая три операнда. Ее синтаксис:

условие? выражение 1: выражение 2;

Первый операнд является условием, второй операнд содержит значение условного выражения в случае, если условие истинно (возвращает ненулевое значение), а третий операнд равен значению условного выражения, если условие ложно (возвращает нуль).

Например, оператор:

grade > 3? cout<<"Вы хорошо знаете материал": cout<<"Плохо";

в зависимости от значения переменной grade выдаст текст "Вы хорошо знаете материал" при значении grade, превышающем 3, и текст "Плохо" при меньшем значении grade.

Оператор с условной операцией выполняет фактически те же функции, что

и оператор if...else…. Но в ряде случаев применение условной операции компактнее и нагляднее оператора if...else. К тому же иногда условная операция может использоваться в таких ситуациях, когда применение оператора if...else… синтаксически невозможно.

В условной операции условные выражения могут быть практически любого типа (любым скалярным выражением, арифметическим выражением, указателем, структурой, объединением), но типы двух выражений в операции должны быть согласованными. В качестве условных выражений могут также фигурировать какие-то исполняемые действия.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: