Ganz doofe Frage: Kann man Zeiger inkrementieren bzw. dekrementieren?
-
Ist das möglich? Ich meine so etwas geht nur mit Iteratoren oder?
-
Iteratoren verhalten sich Zeigerähnlich.
Kurz: Klar geht das
-
int iarray[4] = {1,2,3,4}; int * ptr = iarray; for(int = 0; i< 4; ++i) { std::cout << *ptr; ++ptr; } // oder total iterator like: for(int * ptr_iteraotr = &iarray[0]; ptr_iteraotr < &iarray[4]; ++ptr_iteraotr ) { std::cout << *ptr_iteraotr ; }
Probiers doch einfach mal aus ...
habs ned laufen lassen, hoffentlich keine schnitzer drin ... naja es ist freitag ...
Ciao
-
Ja, wobei z.B. ein ++ nicht +1 bedeutet, sondern +sizeof(typ_des_arrays).
-
Hi,
wobei typ_des_arrays immer gleich der Größe eines Zeigers auf dem System ist.
MfG Eisflamme
-
Strogij schrieb:
Ja, wobei z.B. ein ++ nicht +1 bedeutet, sondern +sizeof(typ_des_arrays).
Aua meine Zähne...
Überleg mal, wenn *(a+1) das gleiche ist wie a[1] (was es ist) dann würde das was du sagst ja heißen, dass a[1] nicht auf das 2te Element eines Arrays ist.
++ ist schon das gleiche wie +1 ausser, dass ++ den Pointer verändert und +1 nicht.
EDIT: Sorry hatte dein Post falsch verstanden.
-
ben, du hast strogij komplett falsch verstanden.
strogij meinte damit in etwa folgendes:
char bar[10]; bar[1]=...;
ist was anderes als
class Foo{char dummy[2];}; Foo bar[10]; bar[1];
daraus folgt(um es klarer zu machen):
class Foo{char dummy[2];}; Foo bar[10]; char* foobar=reinterpret_cast<char*>(bar); foobar[1]=...;//das ist nicht das 2. feld das bar arrays
die addresse wird nämlich immer um sizeof(typ des arrays) verändert.
//edit seh grad dein edit^^
-
Hallo,
otze schrieb:
daraus folgt(um es klarer zu machen):
mmmh...sei mir nicht böse, aber deine Erklärung find ich immer sehr kompliziert. Aber es steht ja bereits bei dir in der Signatur:
Jesus Christus! Da blickt ja kein Mensch mehr durch.
-
wird mir andauernd vorgeworfen,aber was soll man machen, besser nicht mehr versuchen zu erklären
-
Vielleicht einfach mal etwas am Stil arbeiten? So oft wie bei dir hab ich z. B. reinterpret_cast noch nicht gesehen.
-
RHBaum schrieb:
&iarray[4];
*PENG*
das Ding hat ja nur 4 Elemente...