Показать сообщение отдельно
Старый 22.12.2004, 06:47   #15  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Запоздало вставлю свои 5 копеек. Давайте просто сравним два участка кода:

PHP код:
static void Job7(Args _args)
{
    
int a 12;

    
boolean in(anyType _xanyType _startanyType _end)
    {
        return 
_start <= _x && _x <= _end;
    }
    ;

    switch(
true)
    {
        case 
== 1:
            print 
"1"; break;
        case 
== 2:
            print 
"2"; break;
        case 
in(a510):
            print 
"5..10"; break;
        case 
in(a1115):
            print 
"11..15"; break;
    }
    
pause;

с

PHP код:
static void Job7(Args _args)
{
    
int a 12;

    ;

    if ( 
== 
        print 
"1";
    else if ( 
== )
        print 
"2";
    else if ( 
<= a  && <= 10 )
        print 
"5..10";
    else if ( 
11 <= a  && <= 15 )
        print 
"11..15";
    
pause;

Другими словами, условный оператор case выгоден, когда он выглядит короче и понятнее аналогичной по смыслу последовательности if / else if.
НО В C-ПОДОБНЫХ ЯЗЫКАХ ЭТО НЕ ТАК! Во всех.
Поэтому рекомендация не пользоваться case справедлива и для X++. Избегайте case и будет вам счастье.