text: Кроме того, тернарная условная операция может быть применена в левой части оператора присвоения: 0 #include <iostream> 1 int main () 2 { 3 int a=0, b=0; 4 5 const bool cond = ...; 6 (cond ? a : b) = 1; 7 std::cout << "a=" << a << ',' 8 << "b=" << b << '\n'; 9 } В этом примере, если логическая переменная cond в строке 5 будет содержать значение true, то значение 1 будет присвоено переменной a, иначе, оно будет присвоено переменной b. a = 42 b = 41 result = a if a > b else b assert result == 42 Также можно реализовать через список: Будет возвращен результат выражения 1, если условие ложно; и выражения 2, если условие истинно.