Dryundel Posted April 26, 2023 Share Posted April 26, 2023 Вот так по классике выглядит присваивание значения переменной boolean по условию. int a; bool b; if ( a > 248){ b = 1; } else { b = 0; } А вот так можно записать короче, сразу присвоив значение результата сравнения b = a > 248; И это будет одно и то же. ============================= Для переменной boolean не обязательно указывать ее значение в операции сравнения if Можно использовать оператор отрицания (инверсии) bool a; // Классика if (a == 1) { //Ваш код ... } // Можно так if (a) { //Ваш код ... } // Или так if (!a) { //Это соответствует a==0 //Ваш код ... } ============================= Есть два разных типа переменных целочисленные (int, long, unsigned long и т.п.) и логические (bool, boolean). На первый взгляд это два несовместимых типа. НО! Не все так однозначно. В C++ целочисленные легко взаимодействуют с логическими. Значение true = 1, а false = 0. Т.е. если например в математической операции участвует bool то это очень даже хорошо работает int a = 100; bool b = true; int c; c = a + b; // c = 101 c = a - b; // c = 99 Вроде ничего особенного, однако данный факт может не плохо сокращать код. Возьмем например операцию сравнения, от которой зависит дальнейшее действие. int a; int b; int c; bool d; d = a > b; //Если a > b то с = true if (d) { c++; //Увеличиваем с на едииницу } // Или так. Что в принципе одно и то же, но нет доп переменной d if (a > b) { c++; //Увеличиваем с на едииницу } //Но можно еще и так с += (a > b); //К переменной с прибавляем результат сравнения, который по сути является boolean (false или true) В последнем варианте избавились еще и от оператора if. . 1 2 1 Quote Link to comment Share on other sites More sharing options...
Ingwar Posted April 26, 2023 Share Posted April 26, 2023 Хорошо, если это начало цикла постов... 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.