<?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[Nowendigkeit und Aufwand? von cast!]]></title><description><![CDATA[<pre><code class="language-cpp">class Basis{

};

class A : public Basis{

};

class B: public Basis{

};

std::list&lt;*Basis&gt; LIST;

LIST.push_back(new A);
</code></pre>
<p>das erste objekt der Liste ist ja jetzt trozdem ein Objekt vom Typ Basis, und muss casten wie bei (2) oder? oder ist das nicht otwendig wie bei (1)</p>
<pre><code class="language-cpp">A *p= LIST.front(); //(1)
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">A *p= static_cast&lt;A*&gt; LIST.front(); //(2)
</code></pre>
<p>wenn nun ein static_cast notwendig, und es sicher auch immer ein A ist, wie seht es mit der performace aus? wird viel zeit für cast benötigt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188293/nowendigkeit-und-aufwand-von-cast</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 02:17:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188293.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jul 2007 05:53:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 06:01:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Basis{

};

class A : public Basis{

};

class B: public Basis{

};

std::list&lt;*Basis&gt; LIST;

LIST.push_back(new A);
</code></pre>
<p>das erste objekt der Liste ist ja jetzt trozdem ein Objekt vom Typ Basis, und muss casten wie bei (2) oder? oder ist das nicht otwendig wie bei (1)</p>
<pre><code class="language-cpp">A *p= LIST.front(); //(1)
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">A *p= static_cast&lt;A*&gt; LIST.front(); //(2)
</code></pre>
<p>wenn nun ein static_cast notwendig, und es sicher auch immer ein A ist, wie seht es mit der performace aus? wird viel zeit für cast benötigt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334715</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 06:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 06:07:59 GMT]]></title><description><![CDATA[<p>Wenn du in der Liste nur A-Objekte lagern willst, solltest du besser eine list&lt;A*&gt; verwenden, dann erübrigt sich der Cast. Andernfalls ist der Cast notwendig, weil der Compiler nicht wissen kann, was für Objekte tatsächlich in der list&lt;&gt; drin sind (er sieht nur den statischen Typ - und der ist Basis*).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334718</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 06:07:59 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 06:10:49 GMT]]></title><description><![CDATA[<p>sagen wir mal ich hätte ein eindeutiges musster von A's und B's in der LIST, dann eine lösung mit cast schon die geeigneste, wenn ich so sicher bin das ich immer weis wann ein A oder ein B kommt.?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334719</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 06:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 06:56:16 GMT]]></title><description><![CDATA[<p>zwei container mit jeweils A und B typen sind nicht geeignet? container von basisklassen halte ich grundsätzlich nur dann für sinnvoll, wenn der zugriff über das basisinterface an allen stellen ausreicht, sprich keine casts notwendig sind. gibt aber natürlich immer ausnahmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334738</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Mon, 30 Jul 2007 06:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 07:30:41 GMT]]></title><description><![CDATA[<p>Habe eine Datenklasse welche die Basis- Klasse enthält, und zwei Managment klassen welche einmal die Klassen bspw. A und B verwenden und von mir aus C und D verwenden welche jeweils von Basis abgeleitet sind...</p>
<p>die Managmentklassen legen ihre Objekt A,B bzw. C,D in unterschiedlich defineriten muster an, aber verwenden trozdem die gleiche datenklasse..</p>
<p>also kommt man schwer drumherm mit mehren container zu arbeiten... quasie eine ausnahme...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334753</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 07:30:41 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 07:45:57 GMT]]></title><description><![CDATA[<p>Und was für eine Beziehung besteht überhaupt zwischen den beteiligten Klassen? (macht es da überhaupt Sinn, sie von einer gemeinsamen Basisklasse abzuleiten?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334759</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 07:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 07:52:30 GMT]]></title><description><![CDATA[<p>ja, weil dennoch A,B,C,D variabeln enthalten die von allen adndere verwendet wird.</p>
<p>Zudem wir spätere ein Workflow klasse entwickelt welche dann die unterschiedlich generierten Datenklassen anhand der basisparameter verwendet..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334762</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 07:52:30 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 07:58:06 GMT]]></title><description><![CDATA[<p>Wenn du nur mit den (virtuellen) Methoden der Basisklasse auf die Daten zugreifen kannst/musst, kannst du die Basisklasse verwenden. Wenn du gezwungen bist, die Objekte als A oder B (oder was auch immer) zu verwenden, solltest du sie auch als A speichern, da ist so ein Cast nur fehleranfällig (irgendwann packst du ein Objekt in die list&lt;&gt;, das nicht zu dem vorgegebenen Anordnungsmuster passt - und dann fliegt dir dein PRogramm um die Ohren).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334764</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 07:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 08:04:38 GMT]]></title><description><![CDATA[<p>du meinst wenn ich die basis variabeln der basisklasse über virtualle methodne zugreifbar mach, ist theoritsch kein cast notwenig, weil dann über polymorphe gearbeiten werden kann...!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334766</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 08:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 08:06:00 GMT]]></title><description><![CDATA[<p>Ja, so sieht's aus (wobei dann noch die Frage im Raum steht, ob A und B ähnlich genug sind, um über ein gemeinsames Interface angesprochen werden zu können).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334767</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 08:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 08:56:14 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>Habe eine Datenklasse welche die Basis- Klasse enthält, und zwei Managment klassen welche einmal die Klassen bspw. A und B verwenden und von mir aus C und D verwenden welche jeweils von Basis abgeleitet sind...</p>
<p>die Managmentklassen legen ihre Objekt A,B bzw. C,D in unterschiedlich defineriten muster an, aber verwenden trozdem die gleiche datenklasse.....</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Sorry, kannst Du das mal kurz als Source skizzieren ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334788</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 30 Jul 2007 08:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 09:40:04 GMT]]></title><description><![CDATA[<p>noch mal ne andere Frage:</p>
<pre><code class="language-cpp">A o;

Basis *x= &amp;o;

A *p= static_cast&lt;A*&gt; (&amp;(*x)); //geht

A *p= static_cast&lt;A*&gt; &amp;(*x)); //geht nich
</code></pre>
<p>wieso?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334814</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 09:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 09:43:00 GMT]]></title><description><![CDATA[<p>Da fehlt 'ne Klammer, darum geht's nicht. (wobei man sich über den Sinn dieser Konstruktion streiten könnte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334815</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 09:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 09:45:55 GMT]]></title><description><![CDATA[<p>sorry die rechte klammer müsste man noch weg machen..</p>
<p>nein ich meine das &quot;&amp;&quot; auch eingeklammert werden muss damit es geht!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334816</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 09:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 09:48:40 GMT]]></title><description><![CDATA[<p>Ja, bei den C++ Casts <strong>muss</strong> der gesamte betrachtete Ausdruck in Klammern gesetzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334818</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jul 2007 09:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 10:01:33 GMT]]></title><description><![CDATA[<p>Was in sofern erklärbar ist, das es sich bei dem Cast um eine Funktion handelt...</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334825</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 30 Jul 2007 10:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to Nowendigkeit und Aufwand? von cast! on Mon, 30 Jul 2007 10:05:30 GMT]]></title><description><![CDATA[<p>ahh..... stimmt.. das erklärt alles</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334828</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 30 Jul 2007 10:05:30 GMT</pubDate></item></channel></rss>