<?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[Re]]></title><description><![CDATA[<p>Hi ,<br />
Ich habe eine Frage zu Code, welcher zwar gerade Funktioniert, aber ich weiß nicht ob das auch immer geht.<br />
Oder ob das einfach nur schrott ist.</p>
<pre><code class="language-cpp">template &lt;class DataType&gt; class MData
{
    //MData ist nicht instanzierbar
    protected:
        MData(){};
};

template &lt;class DataType&gt; class DataI : public MData&lt;DataType&gt;
{
public:
    //Daten
    DataType a;
    //Nechste spalte/Zeile
    DataJ&lt;DataType&gt; *nextJ;
    DataI&lt;DataType&gt; *nextI;
    //ZeilenNr
    unsigned long i;
    unsigned long j;

};

template &lt;class DataType&gt; class DataJ : public MData&lt;DataType&gt;
{
public:
    DataType a;
    //Nächste Spalte
    DataJ&lt;DataType&gt; *nextJ;
    //SpaltenNr
    unsigned long j;
};
</code></pre>
<p>DataM ist dazu gedacht pointer instanzieren zu können, welche beide entartete Klassen aufnehmen.<br />
Das Folgende funktioniert, aber ist es sicher daß das auch immer so ist,<br />
oder kann es mit passieren dass der Kompiler bei der Variablenzuordnung durcheinander kommt.<br />
Und wenne s geht, wie schnell ist denn so ein reinterpret_cast ??</p>
<pre><code class="language-cpp">MData&lt;WertType&gt; *ptr=a;

    while(ptr &amp;&amp; reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;i&lt;i &amp;&amp; reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;nextI)
        ptr=reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;nextI;
</code></pre>
<p>DataI&lt;WertType&gt; *a; //Erste Element</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/248924/re</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 16:29:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248924.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Aug 2009 11:35:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:35:06 GMT]]></title><description><![CDATA[<p>Hi ,<br />
Ich habe eine Frage zu Code, welcher zwar gerade Funktioniert, aber ich weiß nicht ob das auch immer geht.<br />
Oder ob das einfach nur schrott ist.</p>
<pre><code class="language-cpp">template &lt;class DataType&gt; class MData
{
    //MData ist nicht instanzierbar
    protected:
        MData(){};
};

template &lt;class DataType&gt; class DataI : public MData&lt;DataType&gt;
{
public:
    //Daten
    DataType a;
    //Nechste spalte/Zeile
    DataJ&lt;DataType&gt; *nextJ;
    DataI&lt;DataType&gt; *nextI;
    //ZeilenNr
    unsigned long i;
    unsigned long j;

};

template &lt;class DataType&gt; class DataJ : public MData&lt;DataType&gt;
{
public:
    DataType a;
    //Nächste Spalte
    DataJ&lt;DataType&gt; *nextJ;
    //SpaltenNr
    unsigned long j;
};
</code></pre>
<p>DataM ist dazu gedacht pointer instanzieren zu können, welche beide entartete Klassen aufnehmen.<br />
Das Folgende funktioniert, aber ist es sicher daß das auch immer so ist,<br />
oder kann es mit passieren dass der Kompiler bei der Variablenzuordnung durcheinander kommt.<br />
Und wenne s geht, wie schnell ist denn so ein reinterpret_cast ??</p>
<pre><code class="language-cpp">MData&lt;WertType&gt; *ptr=a;

    while(ptr &amp;&amp; reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;i&lt;i &amp;&amp; reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;nextI)
        ptr=reinterpret_cast&lt;DataI&lt;WertType&gt; *&gt;(ptr)-&gt;nextI;
</code></pre>
<p>DataI&lt;WertType&gt; *a; //Erste Element</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769697</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:36:07 GMT]]></title><description><![CDATA[<p>Kann ich den Themenname nach träglich ändern ???<br />
Gruß<br />
P.s. Sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769700</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:38:18 GMT]]></title><description><![CDATA[<p>AlexXXx schrieb:</p>
<blockquote>
<p>Kann ich den Themenname nach träglich ändern ???<br />
Gruß<br />
P.s. Sorry</p>
</blockquote>
<p>Nicht als Unreg...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769701</guid><dc:creator><![CDATA[Natascha Kampusch]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:38:18 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:41:03 GMT]]></title><description><![CDATA[<blockquote>
<p>DataM ist dazu gedacht pointer instanzieren zu können, welche beide entartete Klassen aufnehmen.</p>
</blockquote>
<p>Was? Ich verstehe diesen Satz nicht.</p>
<pre><code class="language-cpp">reinterpret_cast
</code></pre>
<p>Willkommen in der Hoelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769702</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:41:03 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:41:08 GMT]]></title><description><![CDATA[<p>Natascha Kampusch schrieb:</p>
<blockquote>
<p>AlexXXx schrieb:</p>
<blockquote>
<p>Kann ich den Themenname nach träglich ändern ???<br />
Gruß<br />
P.s. Sorry</p>
</blockquote>
<p>Nicht als Unreg...</p>
</blockquote>
<p>Aber kannst ja fragen ob ein Mod ausnahmsweise mal so lieb ist <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="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769703</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:44:34 GMT]]></title><description><![CDATA[<p>Hallo Pumuckel<br />
Würdest du Bitte ???<br />
ggg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769705</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:44:37 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<pre><code class="language-cpp">reinterpret_cast
</code></pre>
<p>Willkommen in der Hoelle.</p>
</blockquote>
<p>Hauptsache du hast irgendwas geschrieben, ne? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>reinterpret_cast ist absolut nichts schlimmes und wird oft einfach benötigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769706</guid><dc:creator><![CDATA[omg11]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:45:06 GMT]]></title><description><![CDATA[<p>AlexXXx schrieb:</p>
<blockquote>
<p>Und wenne s geht, wie schnell ist denn so ein reinterpret_cast ??</p>
</blockquote>
<p>Recht schnell. Und vor allem recht schnell im produzieren von sinnfreien Daten.</p>
<p>Eine der üblichen Fragen: Was willst du mit all dem erreichen? Da gibts ziemlich sicher ne bessere Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769707</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:52:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Hauptsache du hast irgendwas geschrieben, ne?<br />
reinterpret_cast ist absolut nichts schlimmes und wird oft einfach benötigt.</p>
</blockquote>
<p>Dito. Ich habe reinterpret_cast genau einmal benoetigt. Und sollte auch nur verwendet werden, wenn man weiss, was man tut. Aber AlexXXx scheint nicht zu wissen, was er tut (und ist wahrscheinlich noch weit entfernt davon).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769711</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:55:49 GMT]]></title><description><![CDATA[<p>Also DataI und DataJ sind Elemente EIner Matrix. Die hat folgende Struktur (In Typen):</p>
<p>DataI-&gt;DataJ-&gt;DataJ-&gt;DataJ-&gt;NULL<br />
|<br />
DataI-&gt;DataJ-&gt;NULL<br />
|<br />
DataI-&gt;DataJ-&gt;DataJ-&gt;DataJ-&gt;DataJ-&gt;DataJ-&gt;DataJ-&gt;NULL<br />
|<br />
NULL;</p>
<p>Das Problem ist, daß ich daran eigentlich nichts mehr änder möchte, da schon ziemlich viel Quelltext dazu steht.<br />
Das ist zwar kompliziert, aberr sher Speichereffizient und eigentlich auch zimelich schnell.</p>
<p>Jetzt würde cih gerne einen Zeiger haben, mit dem ich duch die Matrix laufen kann. Sont brauche ich immer zwei, einen für das erste Element in jeder zeile (Typ DataI <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="😉"
    /> und dann einen für (DataJ <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="😉"
    /> für die weiteren Zeilen.</p>
<p>Klassen benötige ich, da später noch new und delete für die DataI und DataJ überschrieben werden müssen.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769717</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:55:49 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:57:24 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>Hauptsache du hast irgendwas geschrieben, ne?<br />
reinterpret_cast ist absolut nichts schlimmes und wird oft einfach benötigt.</p>
</blockquote>
<p>Dito. Ich habe reinterpret_cast genau einmal benoetigt.</p>
</blockquote>
<p>Dann hast du offenbar noch nie low level Funktionen benutzen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769719</guid><dc:creator><![CDATA[merker22]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 11:59:22 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>Hauptsache du hast irgendwas geschrieben, ne?<br />
reinterpret_cast ist absolut nichts schlimmes und wird oft einfach benötigt.</p>
</blockquote>
<p>Dito. Ich habe reinterpret_cast genau einmal benoetigt. Und sollte auch nur verwendet werden, wenn man weiss, was man tut. Aber AlexXXx scheint nicht zu wissen, was er tut (und ist wahrscheinlich noch weit entfernt davon).</p>
</blockquote>
<p>Na also hör mal. So schlecht ist das jetzt auch wieder nicht =).<br />
Bis jetzt wurde auf den reinterpret_cast nur geschimpft. Da bei wollt ich nur wissen wie und was <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="🙂"
    /><br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769720</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 11:59:22 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:01:34 GMT]]></title><description><![CDATA[<p>AlexXXx schrieb:</p>
<blockquote>
<p>Das ist zwar kompliziert, aberr sher Speichereffizient und eigentlich auch zimelich schnell.</p>
</blockquote>
<p>Womit hast du das nachgeprüft und mit welcher Alternative hast du das verglichen?</p>
<p>Ich würd sowas mit gechachtelten Containern machen, z.B. std::list&lt;std::list&lt;DataType&gt; &gt;, oder std::vector, je nachdem welche Operationen du effektiv drauf ausführen willst. Für die eigene Speicherverwaltung schreibst du dann eine eigene Allocator-Klasse und gibst die als Templateparameter mit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769724</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:11:04 GMT]]></title><description><![CDATA[<p>@Pumuckel<br />
Am anfang habe ich einen Testlauf mit der STL gemacht.<br />
Habe dazu aber nicht zwei listen genommen muß ich zugeben.<br />
Ich habe dazu 2.5 mal mehr Arbeitsspeicher benötigt.<br />
Weiß gerade aber nicht mehr genau Welche kontainer ich genommen habe.</p>
<p>Dann ist es so dass ich noch nichts mit allocatoren gemacht habe.<br />
Hab zu spät mitbekommen dass es sowas gibt. Das war schade, sonst hätte ich es wahrscheinlich so gemacht wie du gesagt hast.</p>
<p>Aber leider kann ich es jetzt nicht mehr ändern. Ich benötige die Lösung für dieses Problem. DataI und DataJ kann ich nicht mehr ändern. Das benötigt zu viel Zeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769735</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:16:56 GMT]]></title><description><![CDATA[<p>Wie schauts denn generell mti dem reinterpret_cast aus.<br />
-Wie arbeitet er ??<br />
-Wo sind fallstricke ??<br />
-Und warum mga man ihn nicht <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="🙂"
    /><br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769737</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:16:56 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:25:52 GMT]]></title><description><![CDATA[<p>AlexXXx schrieb:</p>
<blockquote>
<p>@Pumuckel<br />
Am anfang habe ich einen Testlauf mit der STL gemacht.<br />
Habe dazu aber nicht zwei listen genommen muß ich zugeben.<br />
Ich habe dazu 2.5 mal mehr Arbeitsspeicher benötigt.</p>
</blockquote>
<p>Bei welcher Größe von DataType und welcher Anzahl von Objekten des Typs? Das ist für so einen Vergleich schon relevant.</p>
<blockquote>
<p>Dann ist es so dass ich noch nichts mit allocatoren gemacht habe.<br />
Hab zu spät mitbekommen dass es sowas gibt.</p>
</blockquote>
<p>Allocatoren sind nicht weiter schwer zu verstehen. Und da du ja eh schon über die Speicherverwaltung an sich Bescheid zu wissen scheinst, sollten sie auch kein großes Problem darstellen.</p>
<blockquote>
<p>Aber leider kann ich es jetzt nicht mehr ändern. Ich benötige die Lösung für dieses Problem. DataI und DataJ kann ich nicht mehr ändern. Das benötigt zu viel Zeit.</p>
</blockquote>
<p>So wie du es aufgebaut hast ist es nicht gut machbar. Das Design ist, so wie du es dort hast, bestenfalls unschön. Um da was halbwegs vernünftiges draus zu machen müsstest zu zumindest die Member DataType a, nextJ und den Index j in die Basisklasse hochziehen. Dann würd ich um über die J zu iterieren einen Pointer auf den Basistyp nehmen und für die Iteration über die I einen zusätzlichen Pointer auf DataI. Aber wie gesagt, die Mechnanismen gibts schon in der STL, und die sollte man auch nutzen, wenn nichts wirklich dagegen spricht. Dass es zu viel Zeit braucht ist meist kein gültiges Argument gegen ein Refactoring. Die Zeit (und die Nerven) die du vergeudest weil du dich für den Rest der Lebenszeit deines Programms mit einem verkorksten Design herumschlagen musst, überwiegt das nämlich normalerweise bei weitem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769742</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:25:52 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:32:41 GMT]]></title><description><![CDATA[<blockquote>
<p>Dann hast du offenbar noch nie low level Funktionen benutzen müssen.</p>
</blockquote>
<p>Was sind low level Funktionen, also fuer dich? Ich habe ihn benoetigt, als ich mit pthread gearbeitet habe, da Parameter nur ueber void* weitergereicht werden. Aber wenn ich mich innerhalb von C++ befand, war dieser nie noetig. Und hier scheint es ein reines C++ Problem zu sein.</p>
<p>@AlexXXx, ich bin einfach zu faul: <a href="http://www.codeguru.com/forum/archive/index.php/t-393998.html" rel="nofollow">http://www.codeguru.com/forum/archive/index.php/t-393998.html</a></p>
<blockquote>
<p>Ich habe dazu 2.5 mal mehr Arbeitsspeicher benötigt.</p>
</blockquote>
<p>Um wieviel Gigabyte geht es denn? Wie gemessen? Wie in den STL-Container eingefuegt? Ist dir die Allokationsstrategie von std::vector bekannt? Ein guter Startpunkt ist <a href="http://www.sgi.com/tech/stl/Vector.html" rel="nofollow">http://www.sgi.com/tech/stl/Vector.html</a> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769745</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:38:31 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Was sind low level Funktionen, also fuer dich? Ich habe ihn benoetigt, als ich mit pthread gearbeitet habe, da Parameter nur ueber void* weitergereicht werden.</p>
</blockquote>
<p><em>*flüster*</em> für <code>void*</code> reicht <code>static_cast</code> . <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="😉"
    /></p>
<p><code>reinterpret_cast</code> braucht man in modernem C++ eigentlich nicht allzu oft. Meist in Zusammenhang mit Low-Level-APIs oder Dingen wie <code>std::fstream::write()</code> . Oft riskiert man damit aber unnötigerweise undefiniertes Verhalten (unnötig, weil es meistens bessere, sichere Alternativen gibt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769751</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:38:31 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:48:54 GMT]]></title><description><![CDATA[<blockquote>
<p>*flüster* für void* reicht static_cast.</p>
</blockquote>
<p>Nein, mein g++ hat gemeckert (mit Option -pedantic).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769758</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 12:50:05 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Nein, mein g++ hat gemeckert (mit Optionen -Wall -pedantic).</p>
</blockquote>
<p>Bei sowas?</p>
<pre><code class="language-cpp">void* void_ptr;
MyClass* ptr = static_cast&lt;MyClass*&gt;(void_ptr);
</code></pre>
<p>Würde mich wundern. Und in die umgekehrte Richtung gehts sowieso implizit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769760</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 31 Aug 2009 12:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:00:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void* Thread::entry(void* me)
{
  //Thread* pthis = dynamic_cast&lt;Thread*&gt;(me); // does not compile
  //Thread* pthis = static_cast&lt;Thread*&gt;(me);  // does not compile
  Thread* pthis = (Thread*)(me);
  ...
  pthis-&gt;run()   
  ...
</code></pre>
<p>Ist schon laenger her, gcc-Version war damals glaube 3.2 oder 3.4. Aber so genau kann ich mich auch nicht mehr an die Umstaende erinnern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769764</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:00:31 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:10:03 GMT]]></title><description><![CDATA[<p>Okay habe mich dazu entschiedenes ohen static_cast zu machen.<br />
Ist so doer so umständlich. Stimmt schon.<br />
Grup und danke für antwort</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769771</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:10:03 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:19:57 GMT]]></title><description><![CDATA[<p>Das war nicht unsere Absicht, dir <code>static_cast</code> zu empfehlen (nicht mal sicher, obs geht). Das war nur Bestandteil der Diskussion von knivil und mir...</p>
<p>AlexXXx, du solltest dir grundsätzlich überlegen, ob du wirklich einen Cast brauchst. Wahrscheinlich geht das sauberer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769780</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:19:57 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:31:14 GMT]]></title><description><![CDATA[<p>Habs schon ohne cast gemacht. Verwende zwei pointer. Einen für dataI und den anderen für dataJ.<br />
Ihr habt schon recht.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769790</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:39:19 GMT]]></title><description><![CDATA[<p>Also mal abgesehen von dem Code stört mich da noch einiges anderes.</p>
<ul>
<li>Öffentliche Attribute quälen die Kapselung</li>
<li>Wieso verwendest du keine abstrakte Basisklasse? Ist dir virtual zu teuer?</li>
<li>Du willst scheinbar Random-Access. Wieso nimmst du dann nicht gleich verschachtelte, dynamische, verwaltete Arrays wie <code>std::vector</code> ?</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1769795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769795</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to Re on Mon, 31 Aug 2009 13:43:14 GMT]]></title><description><![CDATA[<p>-Die klassen waren mal Stukturen.<br />
-Ja<br />
-Ich mag selber machen lieber <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="🙂"
    /> Ist kein argument ich weiß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769799</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 13:43:14 GMT</pubDate></item></channel></rss>