Sto passando attraverso l'esercitazione this sulla programmazione C. Dice:Istruzione switch: la logica è diversa in C v/s. altri linguaggi come Java?
L'istruzione di commutazione è in realtà completamente diversa (dalle altre lingue) ed è davvero una "tabella di salto". Invece di espressioni booleane casuali, è possibile inserire solo espressioni che generano numeri interi e questi numeri interi vengono utilizzati per calcolare i salti dalla parte superiore dell'interruttore alla parte che corrisponde a tale valore. Ecco un codice che analizzeremo per comprendere questo concetto di "jump tables".
Ma, casi di un'istruzione switch deve essere confrontato fino a quando viene trovata una corrispondenza (altrimenti di default viene restituito.)
Come è diverso da più istruzioni if-else, allora? O è solo uno zucchero sintattico? Mi sto perdendo qualcosa di importante qui?
L'articolo si collega a spiega esattamente come un'istruzione switch può essere ottimizzato per utilizzare una tabella di salto, piuttosto che una catena di confronti. Hai letto questo? –
In realtà è così che viene implementato in Java e sospetto che altri linguaggi siano basati su C. –
La citazione si riferisce a Ruby come diversa. –