matematykaszkolna.pl
programowanie Rubren: Witam wszystkich czy ktoś z forumowiczów orientuje sie w c++ mam ze dwa pytania dotyczące funkcji Od razu je napisze 1) Dlaczego nalezy pisac funkcje ktore operują na zmiennych lokalnych a takie ktore operują na zmiennych globalnych okresla sie jako "czyste zło" chciałbym jakis prosty przykładzik ktory by mi wyjasnił dlaczego zakres globalny jest tym strasznym złem 2) Prosiłbym o wytłumaczenie na chłopski rozum czym sie rozni przekazywanie parametrów przez referencje i przez wartosc.
18 paź 21:54
Rubren: Podbijam moze jednak ktos sie znajdzie
18 paź 22:13
Mateusz: 1) Poniewaz zmienne globalne są dostępne dla wszystkich funkcji zdefiniowanych pod nimi co nie jest praktyczne natomiast zmienne lokalne funkcji nie są znane poza wnętrzem funkcji co jest bardzo praktyczne mamy prosty przykład: int main() float x,y; . . . itd zmienne x i y są zmiennymi lokalnymi funkcji main prawda aby kazda inna funkcja miała do nich dostęp musiałyby zostac jej przekazane jako argumenty gdy natomiast zadeklarowalibysmy je jako zmienne globalne to nie byłoby potrzeby przekazywac zadnych argumentów do funkcji−funkcja działałaby na zmiennych globalnych co zawęża wykorzystanie tej funkcji dalej. 2) przekazywanie argumentów przez wartosc− w momencie wywołania funkcji jest tworzona na jej potzreby zmienna lokalna i do niej jest kopiowana jest wartosc przekazana funkcji a po zakonczeniu działania funkcji zmienne powiazane z przekazanymi argumentami do funkcji ida pa pa emotka i po wyjsciu z funkcji znow odwołujemy sie do zmiennej ktora nie została zmodyfikowana przekazywanie przez referencje w przeciwienstwie do przekazywania przez wartosc zmiany wykonane w funkcji na zmiennych zostają zachowane.
19 paź 11:41
b.: double x,y; double pomnozGlobalne() { return x*y; } double pomnoz(double x, double y) { return x*y; } int main(){ double wynik = pomnoz(2,3); double wynik2 = pomnoz(2,3) + pomnoz(4,5); // =2*3 + 4*5 // niewygodne: x=2; y=3; wynik = pomnozGlobalne(); // jeszcze bardziej niewygodne, jak sie chce policzyc dwa iloczyny... }
19 paź 13:11