Оптимизируются ли переключатели с таблицами поиска в C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Оптимизируются ли переключатели с таблицами поиска в C ++?

Сообщение Anonymous »

Множество комментариев, поэтому предложите, что компилятор знает, как оптимизировать операторы 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»