Учись программированию на C++ Builder бесплатно!

Условная операция (?:) единственная трехчленная (тернарная) операция в C++, имеющая три операнда. Ее синтаксис:

условие ? выражение_1 : выражение_2

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

Label1->Caption = grade > 3 ? "Вы хорошо знаете материал" : "Плохо";

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

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

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


Поиск по сайту