<?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[Wie findet man den Index in der vtable heraus?]]></title><description><![CDATA[<p>Hi,</p>
<p>gibt es eine elegante Möglichkeit, den Index einer Funktion in der vtable herauszufinden. (Aus der Klassendeklaration ablesen ist nicht elegant <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="😉"
    /> )<br />
Bin mir gerade nicht sicher, in welches Forum das gehört.<br />
Am besten wäre es, wenn das schon zur Compilezeit möglich wäre.</p>
<pre><code>class foo
{
    virtual bar();
};

int main()
{
    int vtbl_idx_of_bar_in_foo = ???; // wie???
    return 0;
}
</code></pre>
<p>Also wenn jemand eine Antwort auf diese Frage kennt, dann bitte mitteilen.<br />
Danke für die Aufmerksamkeit.</p>
<p>MfG<br />
DDR-RAM</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168849/wie-findet-man-den-index-in-der-vtable-heraus</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 14:34:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168849.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Dec 2006 16:53:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 16:53:36 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>gibt es eine elegante Möglichkeit, den Index einer Funktion in der vtable herauszufinden. (Aus der Klassendeklaration ablesen ist nicht elegant <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="😉"
    /> )<br />
Bin mir gerade nicht sicher, in welches Forum das gehört.<br />
Am besten wäre es, wenn das schon zur Compilezeit möglich wäre.</p>
<pre><code>class foo
{
    virtual bar();
};

int main()
{
    int vtbl_idx_of_bar_in_foo = ???; // wie???
    return 0;
}
</code></pre>
<p>Also wenn jemand eine Antwort auf diese Frage kennt, dann bitte mitteilen.<br />
Danke für die Aufmerksamkeit.</p>
<p>MfG<br />
DDR-RAM</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199081</guid><dc:creator><![CDATA[DDR-RAM]]></dc:creator><pubDate>Thu, 28 Dec 2006 16:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 19:32:58 GMT]]></title><description><![CDATA[<p>OMG nein es gibt garkeine Möglichkeit, ausser &quot;Hacks&quot; die sich auf die ABI vom Compiler verlassen.<br />
Es muss ja nichtmal nen Vtable geben - der Compiler darf das ruhig auch anders implementieren wenn er mag.</p>
<p>p.S.: wofür glaubst du das überhaupt zu brauchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199167</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 28 Dec 2006 19:32:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 21:05:29 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>OMG nein es gibt garkeine Möglichkeit, ausser &quot;Hacks&quot; die sich auf die ABI vom Compiler verlassen.<br />
Es muss ja nichtmal nen Vtable geben - der Compiler darf das ruhig auch anders implementieren wenn er mag.</p>
</blockquote>
<p>Dessen bin ich mir bewusst. Allerdings ist die Annahme, dass der Compiler eine Vtable verwendet in der Regel korrekt. Wie gesagt, ich war mir mit der Wahl des Forums auch nicht ganz zufrieden, da es sich nicht unbedingt um ISO C++ handeln muss. Ich verwende <strong>MS VC++ 2005</strong>.</p>
<blockquote>
<p>p.S.: wofür glaubst du das überhaupt zu brauchen?</p>
</blockquote>
<p>Ich will/muss mit der Vtable zur Laufzeit rumspielen. <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="😉"
    /><br />
Ich mach mir gerade Gedanken zur &quot;dynamischen Vererbung&quot; (ich hab das einfach mal sogenannt, eine Art Vererbung zur Laufzeit). Inwiefern meine Frage dazu im Endeffekt beantwortet werden muss, weiß ich noch nicht. Ich mach mir einfach mal weiter Gedanken.<br />
Bin für alle Anregungen offen.</p>
<p>MfG<br />
DDR-RAM</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199198</guid><dc:creator><![CDATA[DDR-RAM]]></dc:creator><pubDate>Thu, 28 Dec 2006 21:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 23:02:10 GMT]]></title><description><![CDATA[<p>DDR-RAM schrieb:</p>
<blockquote>
<p>Ich will/muss mit der Vtable zur Laufzeit rumspielen. <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>
</blockquote>
<p>Dann sind virtuelle Funktionen womöglich nicht das Richtige für dich. Funktionszeiger bzw. Funktionsobjekte wären dann wohl eher das Mittel der Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199251</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 28 Dec 2006 23:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 23:28:36 GMT]]></title><description><![CDATA[<p>Ok. Ich weiss aber auch speziell auf den MSVC 2005 bezogen keinen Weg. Lass lieber die Finger vom vTable, das wäre mir viel zu heikel. Vor allem so garnicht portabel. Du kannst ja ganz einfach Jump-Tables bzw. indirekte Sprünge verwenden, ein Array aus Function Pointers ist ja nicht gerade kompliziert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199264</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 28 Dec 2006 23:28:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie findet man den Index in der vtable heraus? on Thu, 28 Dec 2006 23:36:27 GMT]]></title><description><![CDATA[<p><a href="http://www.codeproject.com/cpp/FastDelegate.asp" rel="nofollow">http://www.codeproject.com/cpp/FastDelegate.asp</a> erklärt wie das bei einzelnen Compilern so implementiert ist, sollte dir bei deinem Vorhaben behilflich sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199266</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Thu, 28 Dec 2006 23:36:27 GMT</pubDate></item></channel></rss>