Множество комментариев, поэтому предложите, что компилятор знает, как оптимизировать операторы Switch . Я полагался на это предположение, чтобы сформулировать мой (по -видимому, недействительный) ответ о рефакторинге таблицы поиска. Я предположил, что оптимизация таблицы поиска больше не является актуальной для операторов коммутатора и стала стилистическим выбором. Даже на маленьких клавишах. < /P>
Код: Выделить всё
const std::array lookupTable;
std::string_view lookupMonth(int i) {
return lookupTable[i];
}
std::string_view switchMonth(int monthIndex) {
switch (monthIndex) {
case 0: return m1;
case 1: return m2;
case 2: return m3;
case 3: return m4;
case 4: return m5;
case 5: return m6;
case 6: return m7;
case 7: return m8;
case 8: return m9;
case 9: return m10;
case 10: return m11;
case 11: return m12;
default:
return m1;
}
}
}
Таблицы поиска по -прежнему является законной техникой оптимизации для операторов Trivial Switch в 2025 году? Я использую оператор переключателя или компилятор неправильно?
Подробнее здесь:
https://stackoverflow.com/questions/797 ... ables-in-c