<?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[Fragen zu | und Serialisierung]]></title><description><![CDATA[<p>Hi.<br />
Ich hab 2 Fragen an die werte Community:</p>
<p>#1<br />
Wenn ich 2 Werte mit | verbinde, wie als bsp.</p>
<pre><code class="language-cpp">MB_ICONERROR | MB_OK
</code></pre>
<p>wie bekomme ich die wieder auseinander und was muss ich beim Vergeben der Werte an die einzelnen #defines beachten?<br />
Ich hab das in meinem Buch nicht verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> und über google nix gefunden.</p>
<p>#2<br />
Wie speicher ich meine Klassen?<br />
An sich das speichern mit einem outstream ist mir klar, wie std::ofwstream und in den Klassen am besten den &lt;&lt;-operator definieren.<br />
Aber woher weiss ich dann später, welche Werte in der Datei zu welchen Klassen gehören? Einfach in der Reihenfolge speichern wie laden? Oder gibts da bessere Methoden?</p>
<p>Für Antworten immer dankbar.<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/225106/fragen-zu-und-serialisierung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 20:28:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/225106.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Oct 2008 13:57:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu | und Serialisierung on Sun, 19 Oct 2008 13:57:53 GMT]]></title><description><![CDATA[<p>Hi.<br />
Ich hab 2 Fragen an die werte Community:</p>
<p>#1<br />
Wenn ich 2 Werte mit | verbinde, wie als bsp.</p>
<pre><code class="language-cpp">MB_ICONERROR | MB_OK
</code></pre>
<p>wie bekomme ich die wieder auseinander und was muss ich beim Vergeben der Werte an die einzelnen #defines beachten?<br />
Ich hab das in meinem Buch nicht verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> und über google nix gefunden.</p>
<p>#2<br />
Wie speicher ich meine Klassen?<br />
An sich das speichern mit einem outstream ist mir klar, wie std::ofwstream und in den Klassen am besten den &lt;&lt;-operator definieren.<br />
Aber woher weiss ich dann später, welche Werte in der Datei zu welchen Klassen gehören? Einfach in der Reihenfolge speichern wie laden? Oder gibts da bessere Methoden?</p>
<p>Für Antworten immer dankbar.<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1601263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1601263</guid><dc:creator><![CDATA[DerNeulingMitDemProblem]]></dc:creator><pubDate>Sun, 19 Oct 2008 13:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu | und Serialisierung on Sun, 19 Oct 2008 14:01:27 GMT]]></title><description><![CDATA[<p>Zu #1:<br />
Du kannst mit dem &amp;-Operator prüfen, ob ein Wert gesetzt wurde:</p>
<pre><code class="language-cpp">if (var &amp; MB_OK) cout &lt;&lt; &quot;MB_OK ist gesetzt&quot; &lt;&lt; endl
</code></pre>
<p>die werte müssen soweit ich weiß immer potenzen von 2 sein, also 2, 4, 8, 16, 32 etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1601265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1601265</guid><dc:creator><![CDATA[pyromania]]></dc:creator><pubDate>Sun, 19 Oct 2008 14:01:27 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu | und Serialisierung on Sun, 19 Oct 2008 14:25:23 GMT]]></title><description><![CDATA[<p>Du kannst dir XML oder ein ähnliches Format aussuchen und dann die Klassen so speicher</p>
<pre><code>&lt;class&gt;
   &lt;name&gt;foo&lt;/name&gt;
   &lt;members&gt;
      &lt;var1&gt;13&lt;/var1&gt;
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1601280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1601280</guid><dc:creator><![CDATA[@#2]]></dc:creator><pubDate>Sun, 19 Oct 2008 14:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu | und Serialisierung on Sun, 19 Oct 2008 14:35:52 GMT]]></title><description><![CDATA[<p>Zu #1,<br />
Am besten suchst du nach Flags, dann solltest du Infos finden. Das Prinzip ist eigentlich ganz einfach. Man setzt einfach Bits in einer Zahl und sieht dieses Bit als Ein-/Ausschalter für irgendetwas. Über Bitoperationen kann man diese Bits setzen, bzw. abrufen. Mal ein Beispiel in Pseudo-Code:</p>
<pre><code>FLAG_ONE := 0x01 = 0000 0001 = 1
FLAG_TWO := 0x02 = 0000 0010 = 2

FLAG_COM := FLAG_ONE | FLAT_TWO
         := 0x03 = 0000 0011 = 3

FLAG_COM &amp; FLAG_TWO
         := 0x02 = 0000 0010 = 2

FLAG_ONE &amp; FLAG_TWO
         := 0x00 = 0000 0000 = 0

usw.
</code></pre>
<p>Bitoperationen wären also durchaus auch noch ein Stichwort.</p>
<p>Im übrigen möchte ich darauf hinweisen, dass du keine <code>#define</code> als Konstanten missbrauchen solltest! Das ist ein ganz übler Stil und führt zu Fehlern! Nimm lieber richtig Compiler-Konstanten:</p>
<pre><code class="language-cpp">// z.B:
int const KONSTANTE = 200;
</code></pre>
<p>Zu #2,<br />
Du kann sie einfach in einer Reihenfolge abspeichern. Du kannst auch Metadaten einführen, ähnlich wie bei XML oder auch anders. Es gibt da eine riesige Auswahl an Möglichkeiten, da kannst du eigentlich alles mögliche machen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1601286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1601286</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 19 Oct 2008 14:35:52 GMT</pubDate></item></channel></rss>