<?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[Dynamischer Datenstruktur]]></title><description><![CDATA[<p>Folgendes Problematik:</p>
<p>Ihr kennt ja die standart C Struckturen bspw:</p>
<pre><code class="language-cpp">struct WaferTrackBlock{

				struct _PARTS{
					float X[8];
				} PARTS[8];

				struct _INPUT{
					float X[16];
				} INPUT;

				struct _SEQ{
					float X[4];
				} SEQ;

			} acBuf;
</code></pre>
<p>wenn man hier das padding weglässt, werrden die daten ja sequentiell als bytes im speicher abgelegt.</p>
<p>wenn ich nun eine Klasse schreiben wollte &quot;DynStrukt&quot; mit der ich über funktionen solche strukturen anlegen könnte bspw. mit vectoren und strukttobjecte (Quasie Baumstruktur)</p>
<p>dann wäre ja diese sequentielle Bytekette nicht mehr vorhanden ... wie könnte ic h sowas lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213290/dynamischer-datenstruktur</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 10:21:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213290.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 May 2008 07:29:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:29:05 GMT]]></title><description><![CDATA[<p>Folgendes Problematik:</p>
<p>Ihr kennt ja die standart C Struckturen bspw:</p>
<pre><code class="language-cpp">struct WaferTrackBlock{

				struct _PARTS{
					float X[8];
				} PARTS[8];

				struct _INPUT{
					float X[16];
				} INPUT;

				struct _SEQ{
					float X[4];
				} SEQ;

			} acBuf;
</code></pre>
<p>wenn man hier das padding weglässt, werrden die daten ja sequentiell als bytes im speicher abgelegt.</p>
<p>wenn ich nun eine Klasse schreiben wollte &quot;DynStrukt&quot; mit der ich über funktionen solche strukturen anlegen könnte bspw. mit vectoren und strukttobjecte (Quasie Baumstruktur)</p>
<p>dann wäre ja diese sequentielle Bytekette nicht mehr vorhanden ... wie könnte ic h sowas lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510216</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 07:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:31:49 GMT]]></title><description><![CDATA[<p>Hä? Ich hab kein Wort verstanden von deiner Fragestellung... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510217</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 16 May 2008 07:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:40:17 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Hä? Ich hab kein Wort verstanden von deiner Fragestellung... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>nicht so schlimm... ich auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
ich kanns mir nur vage vorstellen.</p>
<p>@boris, vielleicht ist es hilfreich, wenn du uns mitteilst, was dein ziel ist?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510227</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Fri, 16 May 2008 07:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:51:41 GMT]]></title><description><![CDATA[<p>ok nochmal:</p>
<pre><code class="language-cpp">struct _A{

 short X[3];
 float Y[2];

 struct _B{

     int X[5];
 } B[2];

} A;
</code></pre>
<p>wenn man sich jetzt A im speicher liegend stack oder heap egal vorstellt (wenn short 2 byte, float 4 byte haben) 44 Bytes aneiandergereit im speicher. verstanden? wenn ich nun per OOP eine Dynamisch struktur haben wollte</p>
<pre><code class="language-cpp">class DynStrukt{

public:
    union {
      int MyInt;
      short MyShort;
      double MyDouble;
    };

    std::vector&lt;DynStrukt&gt; childs;
.
.
.
.
};

DynStrukt A;
.
.
.
</code></pre>
<p>son ungefähr könnte man dann den &quot;struct&quot; nachbaune.. dann ist ja das DynStrukt A objekt im speicher mit seinen Daten nicht mehr sequentiell angelegt wie bei &quot;struct&quot; ! Es geht um serialisierung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510231</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 07:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:55:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class DynStrukt{

public:
    union {
      int MyInt;
      short MyShort;
      double MyDouble;
    };

    std::vector&lt;DynStrukt&gt; childs;
</code></pre>
<p>das sieht komisch aus. bist du sicher dass du keinen Designfe...ach lassen wir das <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>serialisierung geht ganz toll über die operatoren &lt;&lt;/&gt;&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510235</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 16 May 2008 07:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 07:58:07 GMT]]></title><description><![CDATA[<p>ich habe trotzdem immer noch nicht dein problem verstanden. willst du jetzt diese 44 bytes in den entsprechenden containern deiner klasse haben, oder wie? falls ja, implementiere einen entsprechenden setter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510236</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Fri, 16 May 2008 07:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:06:34 GMT]]></title><description><![CDATA[<p>ja so ungefähr ich will sowa amchen wie:</p>
<pre><code class="language-cpp">DynStrukt A;

BYTE buf[44];

memcpy(buf,A.rawdata());
</code></pre>
<p>die methode &quot;rawdata()&quot; soll dann das objekt als bytesequenz zurückgeebn...</p>
<p>P.S.: Kann sein das Designfehler drin waren hab das mal schnell hier hin gedüdelt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510245</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 08:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:08:28 GMT]]></title><description><![CDATA[<p>Dann schreibe eine Funktion rawdata(), die den Bytestrom als Array von unsigned char erstellt und kopier die Werte einzeln rein. Dabei kannst Du auch gleich (viel besser als bei structs) dafür sorgen dass Formate und Endianness stimmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510246</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 May 2008 08:08:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:12:10 GMT]]></title><description><![CDATA[<p>cool.. und wie kann ich es machen, damit das ganze TYPEN unabhängig ist.. wie ich oben mit &quot;union&quot; beschreiben wollte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510248</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 08:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:12:20 GMT]]></title><description><![CDATA[<p>solange buf ein char array bleibt ist das auch kein problem. sobald buf aber auf eine struktur zeigt würde ich dringend von memcpy() abraten ;). übergebe lieber einen zeiger oder eine referenz der struktur an eine methode, und fülle sie dann entprechend <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510250</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Fri, 16 May 2008 08:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:13:51 GMT]]></title><description><![CDATA[<p>wieso ist von memcpy abzuraten, von dem abgesehen das dies C ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510253</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 08:13:51 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:16:27 GMT]]></title><description><![CDATA[<p>Weil du z.B. Zeigerwerte auch einfach mitkopierst. Und die sind unter garantie beim wiedereinlesen nicht mehr korrekt.<br />
Für POD Typen funktioniert memcpy aber. Du kannst dir dazu übrigens auch das <em>Parameterized Base Class</em> Idiom ansehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510256</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 16 May 2008 08:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:16:42 GMT]]></title><description><![CDATA[<p>abhängig vom umfang der struktur kann dir das alignment sehr viel kopfzerbrechen bereiten, insbesondere wenn du code portierst und mit fließpunktzahltypen arbeitest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510257</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Fri, 16 May 2008 08:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:46:21 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>cool.. und wie kann ich es machen, damit das ganze TYPEN unabhängig ist.. wie ich oben mit &quot;union&quot; beschreiben wollte?</p>
</blockquote>
<p>Wie würdest Du das denn mit der &quot;union&quot; machen?</p>
<p>Richtig: Du musst Dir irgendwie merken, welcher Typ gerade gültig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510287</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 May 2008 08:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 08:53:34 GMT]]></title><description><![CDATA[<p>stimmt , ich müsste mir den tp zusätzlich merken.. so machen es ja die MFC COleVariant typen glaub auch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510296</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 16 May 2008 08:53:34 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamischer Datenstruktur on Fri, 16 May 2008 09:16:39 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>P.S.: Kann sein das Designfehler drin waren hab das mal schnell hier hin gedüdelt</p>
</blockquote>
<p>Der Designfehler besteht darin, irgend eine Struktur via wildes memcpy kopieren zu wollen. Padding, Aligment und Byte-Order sind ein Problem, hinzukommt der Unterschied von 32Bit- und 64Bit-Laufzeitumgebung.</p>
<p>Für das Kopieren von Klassen ist der Kopierkonstruktor bzw. der Kopierzuweisungsoperator zuständig, und für das Serialisieren verwendet man spezielle Funktionen, die den Speicherinhalt in ein möglichst plattformneutrales Format umwandelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510312</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Fri, 16 May 2008 09:16:39 GMT</pubDate></item></channel></rss>