Instrukcja goto - zło wcielone?
Ostatnio zmodyfikowano 2013-01-09 20:50
DejaVu |
» 2013-01-08 20:03:31 #include <string>
int main() { goto etykieta; std::string bla; etykieta: return 0; }
Bo to miało być tak :P |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2013-01-08 20:05:34 To chyba zależy od kompilatora. Ja używam MinGW(który jest przecież portem GCC, więc mam to samo co i ty) i też nic nie mówił. Pewnie DejaVu używa Visual Studio. Podobna sprawa była z: int zmienna; cin >> zmienna; int tablica[ zmienna ];
Niektóre kompilatory też nic nie mówiły. Dobra starczy o goto, a co na temat zmiennych globalnych? Na wikipedii poczytam, ale chcę poznać zdanie programistów. |
|
crash |
» 2013-01-08 20:06:26 Poza tym, że się nie kompiluje, ma jakieś przesłanie :D ? |
|
DejaVu |
» 2013-01-08 20:06:40 Może na zmienne globalne osobny temat? |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2013-01-08 20:07:05 Ok, będzie nowy temat. |
|
m4tx |
» 2013-01-08 20:07:46 @DejaVu, Eh, a my się z POKNCSU głowiliśmy na IRC-u "wtf, czemu to by się niby miało nie skompilować"... :P
*POKNCSU - Pewna Osoba Która Nie Chce Się Ujawnić. |
|
DejaVu |
» 2013-01-08 20:09:41 Przesłanie jest takie, że używanie goto w większości przypadków zaburza czytanie kodu. Ponadto może wymagać migracji niektórych zmiennych do innego scope-a, aby było możliwe wykonanie skoku analogicznego do tego, który został przedstawiony. |
|
McAffey |
» 2013-01-08 23:43:44 Tak jak wyżej mówi DejaVu poprzez goto kod staje się nieczytelny, poza tym w jakiś tam sposób utrudniasz robotę kompilatorowi. I w zdecydowanej większości przypadków, da się problem rozwiązać bez używania goto, dlatego na ogół uważa się, iż (nadmierne) korzystanie z goto źle świadczy o programiście. Oczywiście czasem, zdarza się że skorzystanie z goto jest dobrym rozwiązaniem, niemniej jednak są to bardzo rzadkie sytuacje. |
|
1 « 2 » 3 |