<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[File IO Versionen]]></title><description><![CDATA[<p>Ich mache mir gerade Gedanken darüber, wie ich verschiedene Versionen von Files regeln soll.<br />
Kurzer Überblick:<br />
Ich habe eine Output Klasse für meine Map (TileMap für eine 2D Game) geschrieben. Das Mapfile wird als binary Datei geschrieben und hat direkt in den ersten 2 Byte eine Versionsnummer.<br />
Da sich das generierte File durchaus im Verlauf der Entwicklung ändern kann, bietet sich das ja durchaus an. Die älteren Files sind ja durchaus richtig, haben nur eben nicht alle Daten gesetzt, die dann eben default Werte erhalten.<br />
Nun kam ich zu der Überlegung, ein Array anzulegen, in welchem ich Funktionspointer speichere. Der Index wäre dementsprechend dann die Version-1.</p>
<p>Wie regelt ihr so etwas? Gibt es einen eleganteren Weg, der mir nicht einfällt?<br />
Ich könnte natürlich auch erben lassen und immer zum nächsten Child schicken, wenn die Version nicht passt, finde ich aber auch dämlich.<br />
Wie geht man also bei so etwas vor?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/319647/file-io-versionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 06:54:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/319647.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Aug 2013 13:40:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to File IO Versionen on Tue, 27 Aug 2013 14:13:14 GMT]]></title><description><![CDATA[<p>Ich mache mir gerade Gedanken darüber, wie ich verschiedene Versionen von Files regeln soll.<br />
Kurzer Überblick:<br />
Ich habe eine Output Klasse für meine Map (TileMap für eine 2D Game) geschrieben. Das Mapfile wird als binary Datei geschrieben und hat direkt in den ersten 2 Byte eine Versionsnummer.<br />
Da sich das generierte File durchaus im Verlauf der Entwicklung ändern kann, bietet sich das ja durchaus an. Die älteren Files sind ja durchaus richtig, haben nur eben nicht alle Daten gesetzt, die dann eben default Werte erhalten.<br />
Nun kam ich zu der Überlegung, ein Array anzulegen, in welchem ich Funktionspointer speichere. Der Index wäre dementsprechend dann die Version-1.</p>
<p>Wie regelt ihr so etwas? Gibt es einen eleganteren Weg, der mir nicht einfällt?<br />
Ich könnte natürlich auch erben lassen und immer zum nächsten Child schicken, wenn die Version nicht passt, finde ich aber auch dämlich.<br />
Wie geht man also bei so etwas vor?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2348809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2348809</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 27 Aug 2013 14:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to File IO Versionen on Tue, 27 Aug 2013 15:20:32 GMT]]></title><description><![CDATA[<p>anti-freak schrieb:</p>
<blockquote>
<p>Nun kam ich zu der Überlegung, ein Array anzulegen, in welchem ich Funktionspointer speichere. Der Index wäre dementsprechend dann die Version-1.</p>
</blockquote>
<p>Und wenn eine ungültige Version geladen wird, stürzt das Programm ab...<br />
Meist sehe ich (und mache es genauso) Funktionen mit der Version im Namen, welche von der Haupt-Funktion je nach Versionsparameter geladen werden oder bei ungültiger Version ein Fehlercode zurückgegeben bzw. eine Exception geworfen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2348829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2348829</guid><dc:creator><![CDATA[Youka]]></dc:creator><pubDate>Tue, 27 Aug 2013 15:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to File IO Versionen on Tue, 27 Aug 2013 15:32:09 GMT]]></title><description><![CDATA[<p>Ich kann mit Arrays durchaus so umgehen, das mir das ganze nicht unter dem Hintern weg bricht, und ich auch eine Exception werfen könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Allerdings hast du recht, das es nicht unbedingt die beste Lösung ist.<br />
Nen mega switch ist jetzt zwar auch nicht sonderlich genial, aber immerhin habe ich da die Möglichkeit eine Version zu überspringen usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2348830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2348830</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 27 Aug 2013 15:32:09 GMT</pubDate></item><item><title><![CDATA[Reply to File IO Versionen on Tue, 27 Aug 2013 18:20:58 GMT]]></title><description><![CDATA[<p>Das Array hat das Problem, dass alte Versionen vielleicht irgendwann herausgenommen werden sollen. Werden die Funktionszeiger dann zu <code>nullptr</code> geändert oder werden die Elemente entfernt und der Index entsprechend verringert vor dem Zugriff? Da ist das <code>switch</code> eleganter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2348864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2348864</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 27 Aug 2013 18:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to File IO Versionen on Tue, 27 Aug 2013 18:41:45 GMT]]></title><description><![CDATA[<p>Ja, das stimmt. Werde das jetzt auch so umsetzen. Zusätzlich hat man ja die Möglichkeit mehrere Versionen zusammen zu fassen (habe mehrere Unterfunktionen für den Reader), wenn sie sich nicht ändern, oder auch revert Möglichkeiten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Beim näheren Betrachten hat sich das als best möglich herausgestellt, was ich von vorn herein kategorisch ausgeschlossen hatte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> Nunja, seis drum. Vielen Dank für den Schubs in die richtige Richtung.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2348874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2348874</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 27 Aug 2013 18:41:45 GMT</pubDate></item></channel></rss>