Правила программирования на С и С++. Главы 1-6
Страница 62. Избегайте дублирования усилий


 

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

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

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

{

}

 
« Предыдущая статья