ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн

Сравнение switch и if...else

Когда лучше использовать последовательность if...else (или else...if), а когда — switch? При использовании else...if можно проверять значения разных не связан- ных друг с другом переменных, причем сравнения могут быть любой степени сложности:

if ( SteamPressure*Factor > 56 )

   // операторы else if ( Voltageln+VoltageOut < 23000)

   // операторы else if ( day == Thursday )

   // операторы else    // операторы

В операторе switch все ветвления используют одну и ту же переменную; един- ственная возможность проверки в таком ветвлении — сравнение значения пере- менной с заданной константой. В частности, невозможно выполнить такую про- верку:

case а<3:  //действия break;

Совместно с case могут использоваться константы, имеющие либо целый, ли- бо символьный тип, например 3 или 'a', или же константные выражения, приво- дящие к вычислению значения одного из указанных типов, например 'a'+32.

Если хорошо усвоить эти условия, написание конструкций switch становится простым и доступным для понимания, switch рекомендуется использовать там, где это возможно, особенно в случаях, когда дерево ветвлений содержит много ветвей.

 

37