Всем привет,
вот есть, например, такой код
if( a = 1 )
{
b = 2;
}
else if( a = 30 )
{
b = 12;
}
else if( a = 100 )
{
b = 17;
}
// и ещё штук 20 таких же конструкций
Чем это заменить можно?
Можно как-то так, например (код условный)
int arA[] = { 1, 30, 100... }
int arB[] = { 2, 12, 17....}
for( int i = 0; i < size_of_arA; i++ )
{
if( a == arA[ i ] )
{
b = arB[i];
break;
}
}
Это здорово всё если такой код относительная редкость. Иначе становится утомительным писать эти циклы и заполнять эти массивы.
Может быть есть какое-то универсальное решение? Только надо понимать, что вместо b = 12 может быть, например, b |= 12, или вместо int может быть TCHAR*