Тернарный оператор ?
Тернарный оператор ?: позволяет сократить определение простейших условных конструкций if и имеет следующую форму:
[первый операнд - условие] ? [второй операнд] : [третий операнд]
Оператор использует сразу три операнда. В зависимости от условия тернарный оператор возвращает второй или третий операнд: если условие равно true (то есть истинно), то возвращается второй операнд; если условие равно false (то есть ложно), то третий. Например:
#include <iostream>
using namespace std;
int main()
{
int x = 5;
int y = 3;
char sign;
cout << "Введите знак операции: ";
cin >> sign;
int result = sign == '+' ? x + y : x - y;
cout << "Результат: " << result << "\n";
return 0;
}
В данном случае производится ввод знака операции. Здесь результатом тернарной операции является переменная result. И если переменная sign содержит знак "+", то result будет равно второму операнду - (x+y). Иначе result будет равно третьему операнду.