Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Instrukcja goto - zło wcielone?

Ostatnio zmodyfikowano 2013-01-09 20:50
Autor Wiadomość
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?
P-73372
DejaVu
» 2013-01-08 19:24:54
C/C++
etykieta:
std::string bla;
goto etykieta;
Błąd kompilacji.
P-73374
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.
P-73375
DejaVu
» 2013-01-08 19:28:37
Istnieje mniej jak 1% uzasadnionych sytuacji, w których goto będzie mile widziane i uprości kod. Całą resztę pokrywają wszelkiego rodzaju pętle itp.

PS.
Frazy, które należy wpisać w wyszukiwarkę google:
http://cpp0x.pl/forum/temat/?id=4213&p=3
http://cpp0x.pl/forum/temat/?id=2633
http://cpp0x.pl/forum/temat/?id=188
P-73377
m4tx
» 2013-01-08 19:59:05
C/C++
etykieta:
std::string bla;
goto etykieta;
Błąd kompilacji.
Um...
C/C++
#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... ;)
P-73382
DejaVu
» 2013-01-08 20:02:05
co to jest -o wtf?
P-73383
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_globalna
http://pl.wikipedia.org/wiki/Zmienna_lokalna

Zalecany 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 :)
P-73384
m4tx
» 2013-01-08 20:03:12
co to jest -o wtf?
Yyy... Nazwa pliku wyjściowego? (output)
P-73386
« 1 » 2 3
  Strona 1 z 3 Następna strona