jw.
Do czego się używa preinkrementacji w pętli for?
Może jakiś prosty przykład...
Jakie jest zastosowanie preinkrementacji w pętli for?
Rozpoczęty przez shadow, 09 lut 2014 13:06
6 odpowiedzi w tym temacie
#1
Napisano 09 luty 2014 - 13:06
#2
Napisano 10 luty 2014 - 08:46
W pętli for chyba raczej żadne (ale zawsze można coś wymyślić, przecież pętla for ma w sobie 3 wyrażenia, które można dowolnie sobie zmieniać), aczkolwiek podam inny przykład.
Z kolei
Zwróci true. Sprawdź czy można to wstawić w for np tak: (i=0; ++i <= 100; ) => powinno dać to samo co for (i=0; i < 100; i++)
Hope it helps.
int i=1; if (i++ == 2) return true; else return false;Zwróci false (wpierw i jest porównywane, potem następuje inkrementacja.
Z kolei
int i=1; if (++i == 2) return true; else return false;
Zwróci true. Sprawdź czy można to wstawić w for np tak: (i=0; ++i <= 100; ) => powinno dać to samo co for (i=0; i < 100; i++)
Hope it helps.
#3
Napisano 12 luty 2014 - 20:47
Ok, to już wiem. Chodziło mi o trochę inny przypadek...
Np. czym się różni to:
od tego:
Kiedy następuje inkrementacja w pierwszym i w drugim przypadku?
Np. czym się różni to:
for(int i = 0; i<5; i++) { //jakis kod }
od tego:
for(int i = 0; i<5; ++i) { //jakis kod }
Kiedy następuje inkrementacja w pierwszym i w drugim przypadku?
#4
Napisano 13 luty 2014 - 09:14
Tak, jak napisał janusz - w pętli chyba nie ma to znaczenia. Weź do tego kodu powyżej wpisz wypisywanie wartości zmiennej i na ekranie - w obu wypadkach wyjdą ci liczby 0,1,2,3,4.
To, że w pętli nie ma to znaczenia, dowodzi tylko, iż preinkrementację wymyślono do innych celów..
To, że w pętli nie ma to znaczenia, dowodzi tylko, iż preinkrementację wymyślono do innych celów..
AMD Phenom II 955
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
#5
Napisano 13 luty 2014 - 09:43
W tym przypadku nic to nie zmienia - preinkrementacja ma zastosowanie w wyrażeniach tzw inline. Wyrażenie inline ++i a i++ różni się tym, że w tym pierwszym wpierw inkrementujesz tę zmienną, a gdy później jeszcze coś z nią robisz w tym samym wyrażeniu to wykorzystywana jest właśnie ta zinkrementowana wartość. W przypadku i++ wpierw tworzona jest lokalna kopia zmiennej i, która wykorzystywana jest w wyrażeniu inline, a następnie po wykonaniu wyrażenia zmienna jest przekazywana dalej wartośc zinkrementowana.
http://pl.wikibooks..../Funkcje_inline
http://pl.wikibooks..../Funkcje_inline
#6
Napisano 13 luty 2014 - 11:51
Ok, dzięki wszystkim. Już wszysto jasne. Korzystając z okazji zadam jeszcze jedno pytanie.
Jak się nauczyć dobrze programować? Chodzi mi o porgramowanie w języku C++. Na początek np. jakieś proste gry 2d z jakąś biblioteką Allegro czy SFML. Czytanie kursów, książek ("Symfonia.."), co jeszcze? Możecie mi coś polecić? Może na własnym przykładzie?
Jak się nauczyć dobrze programować? Chodzi mi o porgramowanie w języku C++. Na początek np. jakieś proste gry 2d z jakąś biblioteką Allegro czy SFML. Czytanie kursów, książek ("Symfonia.."), co jeszcze? Możecie mi coś polecić? Może na własnym przykładzie?
#7
Napisano 13 luty 2014 - 15:59
Motywacja do tworzenia oprogramowania + praktyka. Albo zadania sobie sam wymyślasz albo Ci ktoś zleca. Korzystasz potem tylko ze wzorców/frameworków/bibliotek, jak takowych nie znasz to zmuszasz się do nauki (np jak nie umiesz korzystać z klas i programowania obiektowego, to pisząc grę już najwyższa pora). Reszta przychodzi z czasem. Dobrym rozwiązaniem może być wkręcenie się na jakieś praktyki w firmie, która wykorzsystuje technologie jakie znasz (możesz znać je średnio, jak będziesz miał jakiś pomniejszy nadzór to tam Cię już nauczą z tego dobrze korzystać, produkować dobry i czytelny kod, programować bezpiecznie w sensie safe & secure itp..).
U mnie:
-mało ksiązek
-wcześnie zacząłem cośtam kodzić
-studia (dobre, dzienne)
-teraz to już praca zawodowa i takie tam...
U mnie:
-mało ksiązek
-wcześnie zacząłem cośtam kodzić
-studia (dobre, dzienne)
-teraz to już praca zawodowa i takie tam...
Użytkownicy przeglądający ten temat: 2
0 użytkowników, 2 gości, 0 anonimowych