Instrukcja goto - zło wcielone?
Ostatnio zmodyfikowano 2013-01-09 20:50
bingo009 Temat założony przez niniejszego użytkownika |
Instrukcja goto - zło wcielone? » 2013-01-08 19:23:21 Witam was serdecznie, czytałem już sporo rzeczy o tym(m.in. w naszym kursie), że zmienne globalne i goto to złe rzeczy. Co do goto, to nie wiem czemu ona jest taka nie dobra? Oczywiście nie używam jej, ale ciekawi mnie, czemu ona jest taka zła. No i zmienne globalne, to takie, ze słowem kluczowym extern? W tym kursie też pisze, że są one złe. Dlaczego nie powinno się ich używać? Czym one się tak bardzo różnią od lokalnych? No, ale są takie sytuacje, gdzie trzeba użyć zmiennej globalnej(np. jedna zmienna dla kilku plików z kodem), czy może jednak w każdej sytuacji, podobnie jak z goto, można się obyć bez niej? |
|
DejaVu |
» 2013-01-08 19:24:54 etykieta: std::string bla; goto etykieta;
Błąd kompilacji. |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2013-01-08 19:26:14 Czy tu chodzi tylko o to? Bardziej doświadczony programista powinien już się wystrzegać takich sytuacji, a mimo wszystko i tak nie jest używana ta instrukcja. |
|
DejaVu |
» 2013-01-08 19:28:37 |
|
m4tx |
» 2013-01-08 19:59:05 etykieta: std::string bla; goto etykieta;
Błąd kompilacji. |
Um... #include <string>
int main() { etykieta: std::string bla; goto etykieta; return 0; } m4tx2@m4tx-EP35-DS4:~$ g++ -o wtf wtf.cpp m4tx2@m4tx-EP35-DS4:~$ Hm... ;) |
|
DejaVu |
» 2013-01-08 20:02:05 co to jest -o wtf? |
|
crash |
» 2013-01-08 20:02:39 Instrukcja goto nie gryzie, jeśli wie się, co się robi, oraz wie się, co należy robić aby nie używać. Osobiście nie patrzę się na opinie innych - jeśli uważam, że potrzebuję goto, to po prostu używam. Gdyby goto całkiem było zbędne, to by osoby odpowiedzialne za C/C++ pozbyły się tej instrukcji z języka :] Polecam książkę "W głąb języka C", autor ładnie pokazuje jak używać goto w sytuacach bez wyjścia Co do zmiennych polecam wiki: http://pl.wikipedia.org/wiki/Zmienna_globalnahttp://pl.wikipedia.org/wiki/Zmienna_lokalnaZalecany sposób używania zmiennych to stworzenie zmiennej w danym bloku i przekazywanie tej zmiennej przez referencję / wskaźnik. Ma się wtedy kontrolę nad życiem tej zmiennej, a jak wisi globalna to częściej zdarza się o takowej zapomnieć. Tak w skrócie :) |
|
m4tx |
» 2013-01-08 20:03:12 Yyy... Nazwa pliku wyjściowego? ( output) |
|
« 1 » 2 3 |