Stosowność używania instrukcji wyboru switch
Ostatnio zmodyfikowano 2015-06-27 16:04
Patrycjerz Temat założony przez niniejszego użytkownika |
Stosowność używania instrukcji wyboru switch » 2015-06-19 19:42:45 Witam,
z programowaniem jestem związany stosunkowo niedługo, bo około dwa lata. Mam pytanie do specjalistów większych ode mnie. Czy instrukcja switch jest dziś częściej używana, niż zbiór instrukcji if (else)? Chodzi o to, jakie mają zwyczaje zawodowi programiści? Który sposób jest szybszy i sprawniejszy w wykonaniu? Pytam dlatego, ponieważ raz nauczyciel od informatyki powiedział mi, że instrukcja switch jest praktycznie dzisiaj w ogóle nie używana. Więc "jak to z tym jest?" :) |
|
pekfos |
» 2015-06-19 20:29:24 switch nie jest równoznaczne z ciągiem if else (nawet, gdy robi to samo) i ma znacznie bardziej ograniczone zastosowanie, ale to nie znaczy, że nie jest używane. Używa się wtedy, gdy jest jedna wartość do porównania z szeregiem stałych całkowitoliczbowych. Jest to ważny przypadek, ale nie należy do najczęstszych, przez co bywa, że 'nauczyciele informatyki' nigdy się z nimi nie spotykają w praktyce i narzekają, że jest w języku bezużyteczna konstrukcja ;) |
|
michal11 |
» 2015-06-19 23:46:50 Ja często używam switcha przy enumach i jak musze porównać jakąś zmienną z szeregiem stałych |
|
libed |
» 2015-06-22 16:11:10 Switch umożliwia też fajną, lecz rzadko stosowaną konstrukcję "switch fall through" czyli umyślne pominięcie break, takie coś w stylu znienawidzonego goto ;) np. switch( wybor ) { case 1: puts( "Najpierw wykonamy instrukcje dla bloku 1 i automatycznie skaczemy do bloku 2" ); case 2: puts( "Tutaj tylko instrukcje dla bloku 2 " ); break; default: puts( "Domyslne instrukcje" ); }
Jeśli wybor == 1 to wykona się blok 1 oraz blok 2, natomiast jeśli wybor == 2 to wykona się tylko blok 2. |
|
Patrycjerz Temat założony przez niniejszego użytkownika |
» 2015-06-27 16:04:37 Dzięki za odpowiedzi, jednak zacznę używać instrukcji switch :) Widziałem test, w której jest ona minimalnie szybsza od ciągu instrukcji if. Jakby nie patrzeć, każdy robi jak mu wygodniej. |
|
« 1 » |