Из того, что я прочитал, я могу суммировать,
- Случай с коммутатором - это реализация, но в основном определяется как таблица перехода
- Корпус коммутатора делает код более удобочитаемым
- Коммутатор быстрее, чем
if/elseif
(?)
Рассмотрим случай, когда у меня есть 300 +. Я знаю, что if/elseif
в этой сцене будет беспорядок.
Но я хочу знать, как будет выполняться случай switch
такая сцена?
- Является ли масштабируемым, если он остается относительно быстрее, чем if/else, независимо от того, сколько случаев присутствует?
- Поскольку это реализация как я могу определить, как мой компилятор его реализует?
- И прежде всего, как мне сделать это сравнение
if/elseif
-switch
, кроме собственно написания кода и использования профилировщика? Я попытался скомпилировать небольшой файл.c
с ключом с помощью переключателяgcc 4.8.1
-S
, и это похоже на создание таблицы перехода. Где я могу перейти отсюда? - Лучше/хуже использовать
if/elseif
в таких сценариях
В первую очередь меня интересуют специфические детали C/С++.