Тернарний оператор
В програмуванні дуже важливо вміти спрощувати код програми. Це потрібно по декільком причинам таких як:
1) Використання менших ресурсів пристрою для запуску програми.
2) Зменшення «ваги» програми (чим менше коду тим менше простору потрібно для програми).
3) Легша читабельність коду.
Ми вже вивчили з вами оператор Тому, давайте розглянемо наступний код:
    
            #include <iostream>
            int main()
            {
                int a;
                std::cout << "Input number: ";
                std::cin >> a;
                if (a <= 7)
                {
                    std::cout << "a <= 7";
                }
                else
                {
                    std::cout << "a > 7";
                }
                return 0;
            }
        
    
    Як бачите, ми маємо програму, яка виведе перший чи другий текст в залежності від значення Оскільки в наших та в середині є лише по одному рядку, то ми можемо забрати фігурні дужки і таким чином трішки спростити програму. Після чого вона матиме наступний вигляд:
    
            #include <iostream>
            int main()
            {
                int a;
                std::cout << "Input number: ";
                std::cin >> a;
                if (a <= 7)
                    std::cout << "a <= 7";
                else
                    std::cout << "a > 7";
            
                return 0;
            }
        
    
    В обох випадках ми маємо таку логіку програми:
Якщо умова правильна, то виконуємо першу дію в іншому випадку (якщо умова не правильна), то виконуємо другу дію.
При цьому даний код можна спростити за допомогою
Тернарний оператор має по факту таку ж саму логіку як і тобто він перевіряє умову, якщо вона вірна, то виконується перша дія, якщо ні, то друга дія.
Запис тернарного оператора виглядає так:
1) Записуємо умову.
2) Ставимо символ « ? ».
3) Записуємо дію, яка має виконатися, якщо умова виконується.
4) Ставимо символ « : ».
5) Записуємо дію, яка має виконатися, якщо умова не виконується.
Тобто:
(Умова) ? (дія, якщо умова виконалася) : (дія, якщо умова не виконалася)
При потребі ви кожну частину можете записувати у фігурних дужках.
Отже, спробуємо записати попередній код за допомогою тернарного оператора.
        
            #include <iostream>
            int main()
            {
                int a;
                std::cout << "Input number: ";
                std::cin >> a;
                //варіант перший
                a <= 7 ? std::cout << "a <= 7\n" : std::cout << "a > 7\n";
                //за допомогою дужок виділимо кожну умову
                //(a <= 7) ? (std::cout << "a <= 7\n") : (std::cout << "a > 7\n");
                //варіант другий
                std::cout << (a <= 7 ? "a <= 7\n" : "a > 7\n");
                return 0;
            }
        
    
    Зверніть увагу, що код ще зменшився в своїх Тому, якщо ви хочете використати з простою внутрішньою частиною (яка складається з одного рядка), то можна його замінити на тернарний оператор.