<?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[Allgemeine Fragen zur Anwendung von bestimmten Sachen]]></title><description><![CDATA[<p>Also mene fragen beziehen sich auf die anwendung von verschiedenen &quot;gebilden&quot;</p>
<p>mir wären praktische beispiele lieb!</p>
<p>Also zum Beispiel ein anonymer struct oder namensraum, wieso und wann benutzt man sowas?</p>
<p>Funktionszeiger (Arrays davon), wann benutzt man das sinnvoll?</p>
<p>Zurückgegebene Funktionszeiger (warum gibt man Funktionszeiger zurück, wo wird das angewendet?)</p>
<p>templates (ja wirklich), wo und wann benutzt man templates sinnvoll (ausser bei datentypen)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/138946/allgemeine-fragen-zur-anwendung-von-bestimmten-sachen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 09:36:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/138946.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Mar 2006 14:05:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Allgemeine Fragen zur Anwendung von bestimmten Sachen on Thu, 02 Mar 2006 14:05:45 GMT]]></title><description><![CDATA[<p>Also mene fragen beziehen sich auf die anwendung von verschiedenen &quot;gebilden&quot;</p>
<p>mir wären praktische beispiele lieb!</p>
<p>Also zum Beispiel ein anonymer struct oder namensraum, wieso und wann benutzt man sowas?</p>
<p>Funktionszeiger (Arrays davon), wann benutzt man das sinnvoll?</p>
<p>Zurückgegebene Funktionszeiger (warum gibt man Funktionszeiger zurück, wo wird das angewendet?)</p>
<p>templates (ja wirklich), wo und wann benutzt man templates sinnvoll (ausser bei datentypen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1006834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1006834</guid><dc:creator><![CDATA[Fragen_wa?!]]></dc:creator><pubDate>Thu, 02 Mar 2006 14:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Fragen zur Anwendung von bestimmten Sachen on Fri, 03 Mar 2006 07:12:53 GMT]]></title><description><![CDATA[<p>kann mir da niemand helfen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007289</guid><dc:creator><![CDATA[Fragen_wa?]]></dc:creator><pubDate>Fri, 03 Mar 2006 07:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Fragen zur Anwendung von bestimmten Sachen on Fri, 03 Mar 2006 08:38:20 GMT]]></title><description><![CDATA[<p>geduld, geduld<br />
(das mit den anony. namespaces würd mich nun auchmal interessieren..., hab das bisher nur bei lambda gesehen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007340</guid><dc:creator><![CDATA[you?]]></dc:creator><pubDate>Fri, 03 Mar 2006 08:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Fragen zur Anwendung von bestimmten Sachen on Fri, 03 Mar 2006 08:54:13 GMT]]></title><description><![CDATA[<blockquote>
<p>Also zum Beispiel ein anonymer struct oder namensraum, wieso und wann benutzt man sowas?</p>
</blockquote>
<p>Anonyme structs habe ich unter der Kategorie &quot;gibt's, ist sicher nützlich&quot; eingestuft.<br />
Anonyme Namensräume sind der Ersatz für statische Funktionen aus C - die dort enthaltenen Definitionen sind nur in der aktuellen Übersetzungseinheit bekannt, &quot;stören&quot; also den Nutzer deiner Bibliotheken nicht.</p>
<blockquote>
<p>Funktionszeiger (Arrays davon), wann benutzt man das sinnvoll?</p>
</blockquote>
<p>Funktionszeiger verwendet man, um zur Laufzeit zu entscheiden, welche Funktion man tatsächlich aufrufen will. Damit kann man die Adresse einer Funktion quer durch sein System weiterreichen.</p>
<pre><code class="language-cpp">typedef double (*dfunc)(double);

double integral(dfunc fun,double a,double b)
{
  //berechne Integral[a..b] fun(x) dx
}

int main()
{
  dfunc funcs[]={sin,cos,ln};

  double st,en;int sel;
  cin&gt;&gt;st&gt;&gt;en&gt;&gt;sel;
  if(sel&gt;3||sel&lt;0)
    cout&lt;&lt;&quot;Falsche Wahl\n&quot;;
  else
    cout&lt;&lt;&quot;Das Integral hat den Wert &quot;&lt;&lt;integral(funcs[sel],st,en)&lt;&lt;endl;
}
</code></pre>
<blockquote>
<p>Zurückgegebene Funktionszeiger (warum gibt man Funktionszeiger zurück, wo wird das angewendet?)</p>
</blockquote>
<p>Siehe oben - Funktionszeiger kann man bequem durch das System weiterreichen. Also könnte ich auch eine Funktion schreiben, die nach irgendwelchen Kriterien einen Funktionszeiger erzeugt und dem Hauptprogramm zur Verfügung stellt.<br />
(ein konkretes Anwendungsbeispiel sind DLLs - dort kann man per GetProcAddress() eine Funktion aus der Bibliothek suchen lassen und dann weiterverwenden)</p>
<blockquote>
<p>templates (ja wirklich), wo und wann benutzt man templates sinnvoll (ausser bei datentypen)</p>
</blockquote>
<p>Templates sind dann sinnvoll, wenn eine Operation identisch für beliebige Datentypen angewendet werden kann. Z.B. ist es für einen Sortier-Algorithmus egal, ob er nun int's, string's oder User-Accounts soriteren soll (solange diese miteinander verglichen werden können) - statt also für jeden denkbaren Datentyp eine eigene Funktion (sort_int, sort_string, sort_User,...) zu definieren, erzeugt man <strong>eine</strong> Template-Funktion (sort&lt;T&gt;), die der Compiler je nach Bedarf für int, string, User,... umsetzen kann.<br />
(das hat den Vorteil, daß diese Funktion auch auf Typen losgelassen werden kann, die heute noch gar nicht existieren)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007354</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Mar 2006 08:54:13 GMT</pubDate></item></channel></rss>