<?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[Funktionszeiger]]></title><description><![CDATA[<p>Habe gerade <a href="https://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_Weitere_Grundelemente/_Zeiger#Funktionszeiger" rel="nofollow">hier was über Funktionszeiger</a> gelesen und war über folgendes erstaunt:</p>
<pre><code>int multiplication(int a, int b){
   return a*b;
}
//[...]
int x;
x = (*multiplication)(40, 8); // ruft multiplication() auf und weist x den Rückgabewert zu
x = multiplication(40, 8);    // alternative (nicht empfohlene) Syntax
</code></pre>
<p>Die &quot;alternative&quot; Version ist doch das was man immer schreiben würden wenn man die Funktion multiplication aufruft, oder hat das jetzt speziell was mit dem Thema Funktionszeiger zu tun, dass der Autor meint es wäre die nicht empfohlene Variante?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/334273/funktionszeiger</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 20:36:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/334273.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Sep 2015 14:54:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionszeiger on Wed, 02 Sep 2015 14:54:30 GMT]]></title><description><![CDATA[<p>Habe gerade <a href="https://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_Weitere_Grundelemente/_Zeiger#Funktionszeiger" rel="nofollow">hier was über Funktionszeiger</a> gelesen und war über folgendes erstaunt:</p>
<pre><code>int multiplication(int a, int b){
   return a*b;
}
//[...]
int x;
x = (*multiplication)(40, 8); // ruft multiplication() auf und weist x den Rückgabewert zu
x = multiplication(40, 8);    // alternative (nicht empfohlene) Syntax
</code></pre>
<p>Die &quot;alternative&quot; Version ist doch das was man immer schreiben würden wenn man die Funktion multiplication aufruft, oder hat das jetzt speziell was mit dem Thema Funktionszeiger zu tun, dass der Autor meint es wäre die nicht empfohlene Variante?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2466584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466584</guid><dc:creator><![CDATA[Dudeldu]]></dc:creator><pubDate>Wed, 02 Sep 2015 14:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Wed, 02 Sep 2015 15:00:40 GMT]]></title><description><![CDATA[<p>Was hat dein Beispiel mit dem im Link zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2466586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466586</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 02 Sep 2015 15:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Wed, 02 Sep 2015 15:34:08 GMT]]></title><description><![CDATA[<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="😕"
    /></p>
<p><code>multiplication</code> ist hier doch kein Zeiger. Wenn du <code>(*multiplication)</code> machst, brauchst du erstmal einen Funktionzeiger, diese Konvertierung passiert automatisch. Dann dereferenzierst du und landest wieder bei der Funktion. Das Spiel kannst du auch weiter treiben <code>(*******multiplication)</code> , haha. Dass eine Konvertierung in einen Funktionszeiger automatisch passierst, siehst du auch daran, dass du den Adressoperator bei der Initialisierung eines Funktionszeigers nicht brauchst: <code>rechenoperation = multiplication;</code></p>
<p>Und das untere ist ein normaler Funktionsaufruft. Der Kommentar dahinter ist doch Murx.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2466597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466597</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 02 Sep 2015 15:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Wed, 02 Sep 2015 15:35:01 GMT]]></title><description><![CDATA[<p>Das ist da gemeint:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int multiplication(int a, int b){
    return a*b;
}

int division(int a, int b){
    return a/b;
}

int main(){
    int (*rechenoperation)(int, int) = 0; // Anlegen eines Funktionszeigers, Initialisierung mit 0
    rechenoperation = &amp;multiplication;

    int x;
    x = (*rechenoperation )(40, 8); // ruft multiplication() auf und weist x den Rückgabewert zu
    x = rechenoperation (40, 8);    // alternative (nicht empfohlene) Syntax
}
</code></pre>
<p>Ist aber Quatsch. Ich habe noch nie davon gehört, dass das mit dem expliziten Sternchen für irgendjemanden besser lesbar ist. Ich finde es sogar eher verwirrend, weil ein Funktionszeiger ganz anders benutzt wird als ein Zeiger auf ein Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2466598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466598</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Wed, 02 Sep 2015 15:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Wed, 02 Sep 2015 16:08:41 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Ich habe noch nie davon gehört, dass das mit dem expliziten Sternchen für irgendjemanden besser lesbar ist.</p>
</blockquote>
<p>Ich mag sie. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Aber eigentlich egal. Ich mag den komplizierten Typen &quot;int (*rechenoperation)(int, int) =&quot; nicht so arg.</p>
<pre><code>#include &lt;iostream&gt;

int multiplication(int a, int b){
    return a*b;
}

int division(int a, int b){
    return a/b;
}

typedef int rechenoperation_t(int a,int b);

int main(){
    rechenoperation_t* p_rechenoperation = 0;

    p_rechenoperation = &amp;multiplication;

    int x;
    x = (*p_rechenoperation )(40, 8); // ruft multiplication() auf und weist x den Rückgabewert zu
    x = p_rechenoperation (40, 8);    // alternative (nicht empfohlene) Syntax
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2466602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466602</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 02 Sep 2015 16:08:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Thu, 03 Sep 2015 11:01:21 GMT]]></title><description><![CDATA[<p>auto to the rescue. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2466714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466714</guid><dc:creator><![CDATA[TGGC]]></dc:creator><pubDate>Thu, 03 Sep 2015 11:01:21 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger on Thu, 03 Sep 2015 11:24:51 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>TyRoXx schrieb:</p>
<blockquote>
<p>Ich habe noch nie davon gehört, dass das mit dem expliziten Sternchen für irgendjemanden besser lesbar ist.</p>
</blockquote>
<p>Ich mag sie. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
</blockquote>
<p>Warum?</p>
<p>p_rechenoperation ist ein functor. Wie er implementiert ist, ist mir ja eigentlich egal. Könnte ja genausgut eine Klasse sein oder sonstwas. Solange ich op() aufrufen kann passt das ja.</p>
<p>Also ich mag den unnötigen * hier definitiv nicht.</p>
<p>Das typedef dagegen, mag ich sehr wohl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2466721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2466721</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 03 Sep 2015 11:24:51 GMT</pubDate></item></channel></rss>