Правила программирования на Си и Си++

Избегайте дублирования усилий


Следующий фрагмент демонстрирует эту проблему:

if( strcmp(a, b) 0  )

{

}

else if( strcmp(a, b) 0 )

{

}

else if( strcmp(a, b) == 0 )

{

}

Вызов strcmp() в Си связан с немалыми накладными расходами (как в Паскале и других языках программирования), значительно лучше сделать так:

int cmp = strcmp(a, b);

if( cmp 0 )

{

}

else if( cmp 0 )

{

}

else  // остается случай cmp == 0

{

}




Содержание раздела