<?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[Callback funktion]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte Nachfragen wie so eine Callback Funktion aufgebaut ist und wie sie funktioniert. Eine kleine Einführung eventuell mit einem Beispiel wäre sehr nett. Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294496/callback-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 21:38:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294496.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Oct 2011 06:30:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Callback funktion on Wed, 26 Oct 2011 06:30:03 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte Nachfragen wie so eine Callback Funktion aufgebaut ist und wie sie funktioniert. Eine kleine Einführung eventuell mit einem Beispiel wäre sehr nett. Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2135869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2135869</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 26 Oct 2011 06:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Callback funktion on Wed, 26 Oct 2011 06:44:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Schau z.Bsp. mal hier<br />
<a href="http://oopweb.com/CPP/Documents/FunctionPointers/Volume/CCPP/FPT/m_fpt.html" rel="nofollow">http://oopweb.com/CPP/Documents/FunctionPointers/Volume/CCPP/FPT/m_fpt.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2135875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2135875</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 26 Oct 2011 06:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to Callback funktion on Wed, 26 Oct 2011 07:52:31 GMT]]></title><description><![CDATA[<p>Beispiel mit Funktionszeigern:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ostream&gt;

typedef void FuncType(int);

void for_range(int begin, int end, FuncType* callback)
{
  for (int i=begin; i&lt;end; ++i) {
    callback(i);
  }
}

void my_callback(int i)
{
  std::cout &lt;&lt; i &lt;&lt; std::endl;
}

int main()
{
  for_range(0,10,&amp;my_callback);
  return 0;
}
</code></pre>
<p>etwas neumodischer (C++2011):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ostream&gt;
#include &lt;functional&gt;

void for_range(int begin, int end, std::function&lt;void(int)&gt; callback)
{
  for (int i=begin; i&lt;end; ++i) {
    callback(i);
  }
}

int main()
{
  int faktor = 11;
  for_range(0,10,[=](int i) {
    std::cout &lt;&lt; i*faktor &lt;&lt; std::endl;
  });
  return 0;
}
</code></pre>
<p>Vorteil: std::function&lt;&gt; ist nicht auf Funktionszeiger beschränkt, sondern kann Funktionsobjekte kapseln, die einen Zustand besitzen (hier: 'faktor').</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2135897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2135897</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 26 Oct 2011 07:52:31 GMT</pubDate></item><item><title><![CDATA[Reply to Callback funktion on Wed, 26 Oct 2011 08:46:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/24868">@krümelkacker</a><br />
Soweit ich das jetzt beurteilen kann, ist die callback-Funktion eine Übergabe des Pointers einer Funktion. So hat man die Möglichkeit andere Pointer bzw. Funktionen aufzurufen. Habe ich das richtig verstanden!</p>
<p>Normalerweise würde ich deinen Code so schreiben,was auch den gewünschten Effekt hat:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ostream&gt;

typedef void FuncType(int);

void for_range(int begin, int end)
{
  for (int i=begin; i&lt;end; ++i) {
    my_callback(i);
  }
}

void my_callback(int i)
{
  std::cout &lt;&lt; i &lt;&lt; std::endl;
}

int main()
{
  for_range(0,10);
  return 0;
}
</code></pre>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2135938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2135938</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Wed, 26 Oct 2011 08:46:04 GMT</pubDate></item><item><title><![CDATA[Reply to Callback funktion on Wed, 26 Oct 2011 09:27:04 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Normalerweise würde ich deinen Code so schreiben,was auch den gewünschten Effekt hat:</p>
</blockquote>
<p>Deine for_range Funktion ruft aber immer dieselbe callback - Funktion auf. krümels Version ist in der Lage, je nach Bedarf eine andere callback - Funktion aufrufen. Die aufzurufende Funktion wird als Parameter übergeben, so wie die beiden int - Parameter auch, for_range ist so viel flexibler. Siehe auch das qsort - Beispiel in dem Link, auf den Braunstein verwiesen hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2135968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2135968</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 26 Oct 2011 09:27:04 GMT</pubDate></item></channel></rss>