PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerfrage zu c++ Zeigern


Gast
2007-03-09, 15:58:47
Hallo,

ich habe nicht viel Ahnung von Zeigern (ja ich weiß -sollte man können) und hab da gerade ein kleines Problem. Ich poste mal ein bisschen code um das zu veranschaulichen:

uint8_t *fBuf = (uint8_t*)frameBuffer;
for (int y=0; y<height; y++){
for (int x=0; x<width; x++){
Farbe TempFarbe;
TempFarbe.rp = fBuf[kiR] /255.0000; // red
TempFarbe.gp = fBuf[kiG] /255.0000 ; // green
TempFarbe.bp = fBuf[kiB] /255.0000; // blue
TempFarbe.ap = fBuf[kiA] /255.0000;
pixelset.push_back(TempFarbe);
fBuf += 4;
}
}

In der Schleife soll aus einem framebuffer RGB und alpha ausgelesen werden. Dann wird der Zeiger versetzt und die nächste Werte werden gelesen.

Nach dieser Schleife möchte ich wieder vom Anfang des Framebuffers aus was machen. Meine Frage: wie setzte ich den Zeiger wieder an den Anfang ?
Kann ich einfach

*fBuf = frameBuffer;

schreiben, oder ziegt der dann irgendwo hin?

Trap
2007-03-09, 16:09:50
uint8_t* fBuf = (uint8_t*)frameBuffer;

Du brauchst den fett markierten Teil der Zeile (ohne den Stern, der gehört nämlich zum Typ der dort deklarierten Variable).

Gast
2007-03-09, 16:16:20
Super, Danke. * oder nicht * sollte ich mir mal merken. Ist ja eigentlich nicht so schwer.