bingo009 Temat założony przez niniejszego użytkownika |
Zmienne globalne - zło? » 2013-01-08 20:08:37 Otworzyłem ten inny temat, o dyskusji na temat zmiennych globalnych. Ogółem chcę poznać zdanie programistów, czemu one są takie złe? Zmienne globalne to zapewnie takie, ze słowem kluczowym extern? |
|
DejaVu |
» 2013-01-08 20:18:34 Nie szukając daleko: Zmienne globalne - zło? - ma zonka bo użył zmiennych globalnych :P Zastanów się nad destruktorami tj. 'kiedy one zostaną wywołane' oraz kiedy kończy się działanie funkcji 'main'. |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2013-01-09 21:25:55 Ja nie użyłem jeszcze nigdy takiej zmiennej w swoim programach, ale co ja mogę wiedzieć o pisaniu wielkich programów? Za młody jestem(o doświadczenie tu chodzi oczywiście), aby móc jej używać i sam wyrażać zdanie. Choć zapewne zmienna lokalna jest niszczona, kiedy kończy się jakiś blok kodu, dla którego ona istnieje(pomijając zmienne statyczne), a globalna niszczy się dopiero, kiedy program jest zamykany. Zauważam dziwne podobieństwo zmiennej globalnej ze statyczną. Tylko, że jedna jest dla całego programu, a druga jest lokalna, ale zmienna statyczna w funkcji też nie jest chyba niszczona(zachowuje swoją wartość po zakończeniu funkcji). |
|
Mrovqa |
» 2013-01-09 21:40:28 Zmienne globalne jak i statyczne (w funkcji i z klas) są przechowywane w pamięci mniej więcej w podobnych okolicach. Jest też coś takiego, jak zmienna globalna statyczna, ale ta 'statyczność' odnosi się do tego, że zmienna jest nieosiągalna z innych plików. |
|
kubawal |
» 2013-01-10 18:34:43 Mówiąc ściśle, to wszystkie zmienne statyczne i globalne są w pamięci statycznej |
|
DejaVu |
» 2013-01-10 18:50:40 Daleki byłbym od używania stwierdzeń typu "pamięć statyczna". Coś takieto jak pamięć statyczna nie istnieje patrząc z punktu widzenia uruchamianej aplikacji desktopowej. |
|
usmiech |
zmienne globalne » 2013-01-24 13:36:04 No coz, ja dopiero sie ucze..ale dla mnie zmienna globalna to zmienna okreslana lub deklarowana poza /outside of all functions/ wszystkimi funkcjami...najlepiej przed main.... czyli na poczatku kodu. Dlaczego moze byc niebezpieczna ? Mysle, ze niebezpieczenstwo polega na mozliwym, wspolnym wykorzystaniu przez wszystkie uzywane w programie funkcje tej zmiennej, chociaz nie zawsze tego chcemy.... Moje zdanie / jednak malo doswiadczonego w C++/ nie warto deklarowac /tworzyc/ globalnej zmiennej jesli nie ma takiej potrzeby i nie jestesmy na 100 % pewni, ze nie namiesza.... ;-) Pozdrawiam |
|
DejaVu |
» 2013-01-24 14:21:25 Mysle, ze niebezpieczenstwo polega na mozliwym, wspolnym wykorzystaniu przez wszystkie uzywane w programie funkcje tej zmiennej,
|
Myślę, że właśnie z takim zamysłem tworzy się zmienne globalne, więc niekoniecznie jest to trafiony argument :) |
|
« 1 » |