Полагаю, конечный результат - набирать как можно меньше текста и стараться, чтобы ваш код был быстрым для понимания, используя что-то знакомое, например английский.
Ваш код читается примерно так: «Мое письмо равно этому, этому, этому, этому и этому» Это может быть немного затянуто, но это довольно быстро понять.
К сожалению, компиляторы с ++ на самом деле этого не делают, «мое письмо равно этим». Что может быть английским для большинства из нас, но не для плохих компиляторов:)
Как программист, у вас есть возможность скрывать недостатки грамотности компилятора, сохранять код понятным, а также печатать меньше.
if( letterIsOneOfThese( letter, "%+-!") )
{
// do something
}
bool letterIsOneOfThese( const char letter, const char* letterList )
{
int len = strlen( letterList );
while( len-- )
{
if( letterList[len] == letter )
{
return true;
}
}
return false;
}