Forum » Programiranje » [c++] goto,jump
[c++] goto,jump
slovencl ::
A obstaja v c-ju funcijo goto oz. jump, kjer program skoči na neko vrstico in se izvaja od tam naprej...najbrž obstaja, kako se imenuje in uporabi?
Spartak ::
V zgornjem delu enkrana v compilerju imaš verjetno meni. V tem meniju bi ti moralo nekje na desni strani pisati Help. Odpri ga in išči pod "goto", lahko pa tudi pod "label". Drugače pa obstajajo tudi ukazi break in switch, vendar nisem v c-ju programiral že kar nekaj časa, tako da ti ne bi vedel povedati kako je z uporabo.
I got my mind made
I gotta be that rich mothafucka
Set it up so my grandkids don't suffer
Goldee ::
neki
case of pogoj labela
neki
labela
case of pogoj labela
neki
labela
And Now for Something Completely Different...
-two things I like about UK -Monty Python & Pink Floyd-
-two things I like about UK -Monty Python & Pink Floyd-
Zgodovina sprememb…
- spremenil: Goldee ()
Goldee ::
Mislem, da bi moglo bit nek tacga. Preber si kak intro
And Now for Something Completely Different...
-two things I like about UK -Monty Python & Pink Floyd-
-two things I like about UK -Monty Python & Pink Floyd-
Zgodovina sprememb…
- spremenil: Goldee ()
slovencl ::
Itak da sem gledal Samo za take izraze kot so label, jump... ti vrže ven tisoč možnosti, pol pa išči
Gundolf ::
Ker je C malo naprednejši od assemblerja naj se načeloma goto stavkov ne bi uporabljalo. To je načelo lepega (preglednega) programiranja. Zakaj? - zato ker se da veliko večino goto stavkov brez posledic v hitrosti izvajanja ter s posledicami v preglednosti programa nadomestiti z if/while/for/switch stavki.
Drugače pa imaš ukaz goto:
Drugače pa imaš ukaz goto:
zankica: // najprej določiš 'label' - poimenovanje sledi istim pravilom kot za spremenljivke, imenu sledi dvopicje a = a +1; goto zankica; // goto stavek ki pac skoci na definirani label
rokpok ::
(mi je že Gundolf ukradel odgovor)
Rad bi bil pingvin.
Zgodovina sprememb…
- spremenil: rokpok ()
Tutankhamun ::
obstaja goto.
Ampak se to ne uporabla ker je grdo, tut nepriporočajo. Svetujem ti da rajš mal spremeniš algoritem, da ti nau treba tega uporablat.
goto skip; printf("tole smo preskočili.\n"); skip: printf("Kak smo:P\n");
Ampak se to ne uporabla ker je grdo, tut nepriporočajo. Svetujem ti da rajš mal spremeniš algoritem, da ti nau treba tega uporablat.
AMD Phenom QUAD 9950 Black Edition, 8GB
slovencl ::
Hvala. Vem da ni pravi način z goto (zato tudi nisem poznal sintakse ) ampak v mojem primeru pa moram uporabit goto (vsaj mislim).
Kolk deleč pa nese ta goto...po celem programu, a samo po določeni funkciji?
Kolk deleč pa nese ta goto...po celem programu, a samo po določeni funkciji?
Tutankhamun ::
u nevem če lahk skačeš iz funkcij v funkcijo. Ampak če pa lahko, pa vrjem da boš neki za j****. Že v funkciji sami če boš letov v kšne zanke..., bo neki narobe.
Use se da narest brez goto. Če ni skrivnost kaj pa delaš da to rabš. To bi kvečjem uporabu pr kakšnih napakah, da kuj skočš nekam vn.
Use se da narest brez goto. Če ni skrivnost kaj pa delaš da to rabš. To bi kvečjem uporabu pr kakšnih napakah, da kuj skočš nekam vn.
AMD Phenom QUAD 9950 Black Edition, 8GB
Gundolf ::
Povej česa ne moreš rešiti brez goto pa ti povem kako to rešiš brez goto Če seveda ni skrivnost.
Me pa že tvoje naslednje vprašanje (koliko daleč nese goto) rahlo skrbi. Na srečo med funkcijami ne moreš preskakovati, samo znotraj njih.
Me pa že tvoje naslednje vprašanje (koliko daleč nese goto) rahlo skrbi. Na srečo med funkcijami ne moreš preskakovati, samo znotraj njih.
slovencl ::
Rabim za napake, tako kot je rekel tutankamon. Nakaj naredi, pogleda če je napak, in če je gre ven, sicer nadaljuje.
Najbrž bi se dalo tudi z if satvki...samo je več zafrkavnja
Najbrž bi se dalo tudi z if satvki...samo je več zafrkavnja
Gundolf ::
Če gre za C++, kot v naslovu teme potem try catch bloki, če je pa za C, kot si omenil, pa if. Je pa še ena možnost, ki sicer ni dosti lepša. Ko imaš v eni funkciji toliko pregledovanja za errorji potem je verjetno funkcija slabo strukturiran in jo lahko razbiješ na več lažje obvladljivih.
Kakorkoli že, če gre za C bom preventivno raje utihnil.
Kakorkoli že, če gre za C bom preventivno raje utihnil.
Zgodovina sprememb…
- spremenil: Gundolf ()
noraguta ::
ja exceptioni so kulska zadeva sam kaj ko so tut precej pocasnejsa zato se goto se kar drzi.
Pust' ot pobyedy k pobyedye vyedyot!
Tutankhamun ::
Eh nč niso exceptioni počasni. Sej ne dela ne vem kakšne hitrostne časovno kritične aplikacije, ali pač.
Sej res da je naslov c++ ampak vprašanje je blo za C.
Ne se držat goto-ja. Raj se navad brez, pa mal spremen kodo.
Sej res da je naslov c++ ampak vprašanje je blo za C.
Ne se držat goto-ja. Raj se navad brez, pa mal spremen kodo.
AMD Phenom QUAD 9950 Black Edition, 8GB
slovencl ::
A v c++ pa ni goto stavka
A ni razlika med c in c++, da ima c++ vse tisto kar ima c in dodatno še razrede?
A ni razlika med c in c++, da ima c++ vse tisto kar ima c in dodatno še razrede?
tecumseh ::
Odvisno tudi od tega iz cesa bi rad "sel ven" in koliko... Morda lahko uporabis break ali pa return 1... V C++ imas potem se exit () in pa seveda throw in catch...
64202 ::
Sicer v c-ju obstajajo skoki med funkcijami: setjmp/longjmp. Primer knjiznice, ki to uporablja za try/catch-like hendlanje napak je libpng (sem kar malo bulil ko sem prvic videl ). Ni to najbolj "lep" nacin IMHO, se mi zdi da so taki skoki bolj koristni za implementacijo userspace threadov in podobno - gnu pth.
I am NaN, I am a free man!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Analiza kode: goto rabimo po pametiOddelek: Novice / Znanost in tehnologija | 13838 (10398) | one too many |
» | Kdaj uporabiti izjeme?Oddelek: Programiranje | 1699 (1580) | Gundolf |
» | ideja: koda za razne mikrokontrolerje na enem mestuOddelek: Elektrotehnika in elektronika | 3701 (3178) | neoto |
» | [C/C++] Variadic MacrosOddelek: Programiranje | 2109 (1934) | OwcA |
» | C++ & goto funkcijaOddelek: Programiranje | 1583 (1488) | webblod |