hallo! ich hab die funktion "unsigned char* CImage::end() const" jetzt so implementiert, dass mein zeiger auf die erste stelle nach den daten zeigt. ist das gemeint? würde ja eher C-stil bedeuten ( wegen for(i=0;i<x;i++) ), als wenn man exakt das letzte datum nimmt!
gruß heggy
unsigned char* CImage::end() const
Moderator: (M) Mod.-Team Allgemein
In C++ kann man mit einer for-Schleife über sehr viele Container iterieren, nicht nur über Zeiger. In C++ wird allerdings "!=" statt "<" verwendet und statt "0" halt "begin()".
Anmerkung (hat nichts mit dem Praktikum zu tun und wahrscheinlich auch nicht mit der Vorlesung). Wobei ich diese C++ Syntax zum Nachprogrammieren nicht immer praktisch finde (im Praktikum ist es okay), da man extra einen Ende-Iterator haben muss. Das verlangt ab und zu etwas tricksen, wenn man eigentlich in operator++ gerade feststellen möchte, dass es kein nächstes Element gibt. operator++ soll aber immer funktionieren, wenn er noch nicht aufs Ende zeigt.
Anmerkung (hat nichts mit dem Praktikum zu tun und wahrscheinlich auch nicht mit der Vorlesung). Wobei ich diese C++ Syntax zum Nachprogrammieren nicht immer praktisch finde (im Praktikum ist es okay), da man extra einen Ende-Iterator haben muss. Das verlangt ab und zu etwas tricksen, wenn man eigentlich in operator++ gerade feststellen möchte, dass es kein nächstes Element gibt. operator++ soll aber immer funktionieren, wenn er noch nicht aufs Ende zeigt.
Man sollte Links grundsätzlich nicht trauen und Mods sollten ihre Änderungen namentlich kennzeichnen.