<?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[inline und virtual]]></title><description><![CDATA[<p>Kurze Frage: Laut Standard ist es doch nicht verwerflich eine virtuelle Funktion gleichzeitig auch noch mit inline zu kennzeichnen? Ich Frage nur, weil ich einige Leute kenne die das behaupten. Tatsache ist, dass es mit jedem Compiler, mit dem ich es ausprobiert habe, funktioniert hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193074/inline-und-virtual</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 18:27:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193074.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Sep 2007 16:03:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to inline und virtual on Fri, 21 Sep 2007 16:03:13 GMT]]></title><description><![CDATA[<p>Kurze Frage: Laut Standard ist es doch nicht verwerflich eine virtuelle Funktion gleichzeitig auch noch mit inline zu kennzeichnen? Ich Frage nur, weil ich einige Leute kenne die das behaupten. Tatsache ist, dass es mit jedem Compiler, mit dem ich es ausprobiert habe, funktioniert hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370239</guid><dc:creator><![CDATA[anti-schnitzl]]></dc:creator><pubDate>Fri, 21 Sep 2007 16:03:13 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Fri, 21 Sep 2007 16:05:38 GMT]]></title><description><![CDATA[<p>Ich nehme an in diesem Fall ignoriert der Compiler<br />
einfach das inline (welches ja sowieso nur eine Empfehlung ist).<br />
Den woher soll der Compiler wissen welche Funktion er einsetzten<br />
soll wenn das erst zur Laufzeit feststeht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370241</guid><dc:creator><![CDATA[Mario Sandler]]></dc:creator><pubDate>Fri, 21 Sep 2007 16:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Fri, 21 Sep 2007 16:10:31 GMT]]></title><description><![CDATA[<p>Was ist, wenn es sich um Methoden einer Template-Klasse handelt? Wenn ich diese nicht als inline markiere bekomm ich z.B. eine Compilerwarnung weil ich sie bekanntlich nicht per export definieren kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370243</guid><dc:creator><![CDATA[anti-schnitzl]]></dc:creator><pubDate>Fri, 21 Sep 2007 16:10:31 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Fri, 21 Sep 2007 16:16:16 GMT]]></title><description><![CDATA[<p>anti-schnitzl schrieb:</p>
<blockquote>
<p>Was ist, wenn es sich um Methoden einer Template-Klasse handelt? Wenn ich diese nicht als inline markiere bekomm ich z.B. eine Compilerwarnung weil ich sie bekanntlich nicht per export definieren kann.</p>
</blockquote>
<p>Was genau meinst du? Du kannst auch Templates als nicht-inline implementieren (die ODR ist für Templates nur so semi gültig).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370244</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 21 Sep 2007 16:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Fri, 21 Sep 2007 23:58:28 GMT]]></title><description><![CDATA[<p>Inline und virtual vertragen sich wunderbar, und das inline wird auch nicht ignoriert - der Compiler kann immer noch an einigen Stellen den Aufruf inline expandieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370443</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 21 Sep 2007 23:58:28 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Sat, 22 Sep 2007 08:34:28 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Inline und virtual vertragen sich wunderbar, und das inline wird auch nicht ignoriert - der Compiler kann immer noch an einigen Stellen den Aufruf inline expandieren.</p>
</blockquote>
<p>Nämlich genau dort, wo er den dynamischen Typ des Objekts, auf dem die Methode aufgerufen wird, kennt. Also z.B. immer dann, wenn der Aufruf über ein Objekt (und nicht über eine Referenz/Pointer) erfolgt oder explizit qualifiziert ist.<br />
Beim Aufruf über eine Referenz/Pointer müsste der Compiler hingegen eine Hierarchie-Analyse durchführen, was einige moderne Compiler durchaus tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370522</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 22 Sep 2007 08:34:28 GMT</pubDate></item><item><title><![CDATA[Reply to inline und virtual on Sat, 22 Sep 2007 08:36:21 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>anti-schnitzl schrieb:</p>
<blockquote>
<p>Was ist, wenn es sich um Methoden einer Template-Klasse handelt? Wenn ich diese nicht als inline markiere bekomm ich z.B. eine Compilerwarnung weil ich sie bekanntlich nicht per export definieren kann.</p>
</blockquote>
<p>Was genau meinst du? Du kannst auch Templates als nicht-inline implementieren (die ODR ist für Templates nur so semi gültig).</p>
</blockquote>
<p>Die ODR (one definition rule) ist für Templates nicht semi gültig, im Gegenteil, sie legt gerade fest, dass solche einmal pro ÜE definiert werden dürfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370523</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 22 Sep 2007 08:36:21 GMT</pubDate></item></channel></rss>