CodingCat hat geschrieben:Sorry, aber ich sehe nun wirklich keinen Zusammenhang zum Problem mehr. Schlussendlich habe ich mit deinem Code nicht mal Iteratoren, sondern immer noch Zeiger?!?
Prinzipiell ja nicht unbedingt schlimm, sofern du damit trotzdem zum Ziel gelangen würdest. Ich glaube aber dass ich einfach nicht verstanden habe was du eigentlich vorhast.
CodingCat hat geschrieben:Dein Design ist übrigens höchst kurios, weshalb ich jetzt doch noch korrigierend abschweifen muss. Machen wir hier also einfach einen Design- und C++-Exkurs auf:
Das ist nett, aber das ist nicht unbedingt "mein Design". Ich würde sowas so auch nicht umsetzen. Es war eher die Suche nach einer Lösung ohne Anspruch auf Schönheit und gutes Design.
CodingCat hat geschrieben:Es gibt wirklich keinen Grund dafür, Funktionalität für Listen von Einträgen in die Einträge selbst zu bauen.
Hm für mich sind Iteratoren auch "Funktionalität für Listen von Einträgen" und die würde ich halt auch nicht in Einträge bauen (wie ich bereits erwähnte). Aber genau diese Tatsache führte mich ja zu diesem Schritt.
CodingCat hat geschrieben:Dass diese Funktionalität dann auch noch auf äußere globale Variablen zurückgreift, war deinerseits zwar vermutlich nur unüberlegt, ist aber selbst für Pseudocode bedenklich. Wo deine entries am Ende liegen sollen, ist mir auch nicht klar, dann doch eher eine Liste von entry-Objekten an Stelle von Zeigern.
Du darfst dir gern noch eine Klasse "Liste" drumrum denken. Ich wollte keine Seiten schreiben, sondern nur etwas andeuten. ;) Es ist auch kein Pseudo-Code, sondern eher eine Idee wie man Abhängigkeiten los wird.
CodingCat hat geschrieben:Nebenbei bemerkt sind auch Listen von unvollständigen Typen undefiniert, d.h. eine Liste von Einträgen darfst du frühestens nach der Definition von entry definieren. Damit hättest du ohne Zeiger sogar in deinem unglücklichen Beispiel schon eine unlösbare zyklische Abhängigkeit geschaffen. ;-)
Genau deshalb habe ich ja eine Liste von Zeigern verwendet. Genauer gesagt wollte ich deine Anforderungen ohne Iterator und stattdessen über Zeiger realisieren, DAMIT die Abhängigkeiten verschwinden. Ob das nun in übermüdetem Zustand geklappt ist eine andere Geschichte. ;)
Ohne Input kein Output.