<?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[Funktion aufrufen, deren Name in einer Variable gespeichert ist]]></title><description><![CDATA[<p>Hallo Community,</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void bla()
{

cout &lt;&lt; &quot;hi&quot;;

}

int main(void)
{
bla()

}
</code></pre>
<p>So möge man z.B. eine Funktion aufrufen... es ist explizit im Code vorhanden, dass bla() aufgerufen werden soll..</p>
<p>Aber wie siehts damit aus:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void bla()
{

cout &lt;&lt; &quot;hi&quot;;

}

int main(void)
{
string a = &quot;bla&quot;; /* oder */ char *b = &quot;bla&quot;;

}
</code></pre>
<p>Ich speichere den Namen der Funktion in einer Variable. Ich behaupte, es gibt einen Weg, Funktionen, deren Name in einer Variable gespeichert ist, aufzurufen.<br />
Weiss jemand wie das realisierbar ist?</p>
<p>Mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259468/funktion-aufrufen-deren-name-in-einer-variable-gespeichert-ist</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 20:31:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259468.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 23 Jan 2010 14:06:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion aufrufen, deren Name in einer Variable gespeichert ist on Sat, 23 Jan 2010 14:06:20 GMT]]></title><description><![CDATA[<p>Hallo Community,</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void bla()
{

cout &lt;&lt; &quot;hi&quot;;

}

int main(void)
{
bla()

}
</code></pre>
<p>So möge man z.B. eine Funktion aufrufen... es ist explizit im Code vorhanden, dass bla() aufgerufen werden soll..</p>
<p>Aber wie siehts damit aus:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void bla()
{

cout &lt;&lt; &quot;hi&quot;;

}

int main(void)
{
string a = &quot;bla&quot;; /* oder */ char *b = &quot;bla&quot;;

}
</code></pre>
<p>Ich speichere den Namen der Funktion in einer Variable. Ich behaupte, es gibt einen Weg, Funktionen, deren Name in einer Variable gespeichert ist, aufzurufen.<br />
Weiss jemand wie das realisierbar ist?</p>
<p>Mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843721</guid><dc:creator><![CDATA[YetAnotherGast]]></dc:creator><pubDate>Sat, 23 Jan 2010 14:06:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion aufrufen, deren Name in einer Variable gespeichert ist on Sat, 23 Jan 2010 14:10:46 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *in=&quot;bla&quot;;
if(strcmp(&quot;bla&quot;,in)==0)
  bla();
</code></pre>
<p>wieso nimmst du icht gleich einen function pointer?</p>
<p>lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843722</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Sat, 23 Jan 2010 14:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion aufrufen, deren Name in einer Variable gespeichert ist on Sat, 23 Jan 2010 14:23:20 GMT]]></title><description><![CDATA[<p>Man kann sich aus einer DLL (geladen mit dlopen, LoadLibrary) mit nem string ein Symbol (z.B. Funktion) holen und das dann aufrufen.<br />
Wenn du deine Funktion aber direkt im Executable liegen hast, hilft dir das wenig.<br />
Du kannst dir jetzt statisch in einer bestimmten Funktion alle Funktionen eintragen (so wie mein Vorposter vorschlägt). Das ist aber verdammt unflexibel.</p>
<p>Eine schönere Alternative wäre ein Typedef auf die Funktionssignatur und das dann in einer std::map ablegen:</p>
<pre><code class="language-cpp">typedef void (*stringMappedFun)();
std::map&lt;std::string, stringMappedFun&gt; functionMappings;
</code></pre>
<p>Ein std::string ist nötig da Vergleiche mittels operator== durchgeführt werden und ein reiner const char* als key dafür nicht möglich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843728</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sat, 23 Jan 2010 14:23:20 GMT</pubDate></item></channel></rss>