<?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[Zeiger auf Funktion]]></title><description><![CDATA[<p>Ich habe in meinem Buch dieses Beispiel hier:</p>
<pre><code>#include&lt;cstddef&gt;
#include&lt;iostream&gt;
using namespace std;

int max(int x, int y) {
    return x &gt; y ? x : y;
}

int min(int x, int y) {
    return x &lt; y ? x : y;
}

int main() {
    int a = 1700, b = 1000;

    int (*fp)(int, int);//Was ist hiemit gemeint?

    do {
        char c;
        cout &lt;&lt; &quot;max (1) oder min (0) ausgeben (sonst = Ende) ?&quot;;
        cin &gt;&gt; c;

        switch(c) {
          case '0' : fp = &amp;min; break; //min braucht doch parameter oder nicht?
          case '1' : fp = max; break; //das gleiche hier auch.
          default  : fp = NULL;
        }
        if(fp) {
          cout &lt;&lt; (*fp)(a,b) &lt;&lt; endl; //Was passiert hier?
          cout &lt;&lt; fp(a,b) &lt;&lt; endl;    //das gleiche...
        }
    } while(fp);
}
</code></pre>
<p>Aber ich verstehe das Beispiel nicht. Ich habe mal die Fragen im Text geschrieben. Ich habe nun keine komplette Fragen geschrieben weil ich es 0 verstehe. Ich hoffe es nimmt sich jemand die Zeit um mir zu helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326406/zeiger-auf-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 00:53:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326406.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Jun 2014 16:05:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Funktion on Mon, 16 Jun 2014 16:05:12 GMT]]></title><description><![CDATA[<p>Ich habe in meinem Buch dieses Beispiel hier:</p>
<pre><code>#include&lt;cstddef&gt;
#include&lt;iostream&gt;
using namespace std;

int max(int x, int y) {
    return x &gt; y ? x : y;
}

int min(int x, int y) {
    return x &lt; y ? x : y;
}

int main() {
    int a = 1700, b = 1000;

    int (*fp)(int, int);//Was ist hiemit gemeint?

    do {
        char c;
        cout &lt;&lt; &quot;max (1) oder min (0) ausgeben (sonst = Ende) ?&quot;;
        cin &gt;&gt; c;

        switch(c) {
          case '0' : fp = &amp;min; break; //min braucht doch parameter oder nicht?
          case '1' : fp = max; break; //das gleiche hier auch.
          default  : fp = NULL;
        }
        if(fp) {
          cout &lt;&lt; (*fp)(a,b) &lt;&lt; endl; //Was passiert hier?
          cout &lt;&lt; fp(a,b) &lt;&lt; endl;    //das gleiche...
        }
    } while(fp);
}
</code></pre>
<p>Aber ich verstehe das Beispiel nicht. Ich habe mal die Fragen im Text geschrieben. Ich habe nun keine komplette Fragen geschrieben weil ich es 0 verstehe. Ich hoffe es nimmt sich jemand die Zeit um mir zu helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2404188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404188</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Mon, 16 Jun 2014 16:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Funktion on Mon, 16 Jun 2014 16:23:03 GMT]]></title><description><![CDATA[<p>Das sind Funktionszeiger.</p>
<p>Weist du was Zeiger und/oder Referenzen sind?</p>
<p>Das hier ist dasselbe nur auf Funktionsebene. Du zeigst nicht auf ein Datum oder auf mehrere Daten, sondern auf eine Operation quasi. In Zeile 24 und 25 wird dem zeiger nur ein Wert (also eine &quot;Ziel&quot;-Funktion) zugewiesen, die in Zeile 29/30 ausgeführt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2404190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404190</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 16 Jun 2014 16:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Funktion on Mon, 16 Jun 2014 16:53:07 GMT]]></title><description><![CDATA[<pre><code>int (*fp)(int, int);//Was ist hiemit gemeint?
</code></pre>
<p>Dieses Statement deklariert einen Funktionszeiger. Du kannst <code>fp</code> dann wie eine Funktion aufrufen, sobald es initialisiert ist (mit der Adresse einer Funktion passenden Typs).</p>
<blockquote>
<pre><code>case '0' : fp = &amp;min; break; //min braucht doch parameter oder nicht?
</code></pre>
</blockquote>
<p>Du nimmst die Adresse von <code>min</code> , und rufst es nicht auf.</p>
<blockquote>
<pre><code>cout &lt;&lt; (*fp)(a,b) &lt;&lt; endl; //Was passiert hier?
</code></pre>
</blockquote>
<p>Du rufst die Funktion auf, auf die <code>fp</code> zeigt. Du kannst <code>fp</code> entweder explizit dereferenzieren (wie in dieser Zeile) oder du kannst <code>fp</code> wie einen Funktionsnamen behandeln. Ist im Prinzip fast das gleiche.</p>
<p>Dein Grundlagenbuch sollte doch alles erklären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2404192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404192</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 16 Jun 2014 16:53:07 GMT</pubDate></item></channel></rss>