<?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[&amp;quot;typenloses&amp;quot; Template?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mich schon öfters gefragt, wie das genau funktioniert.<br />
Man kennt es von <code>std::find</code> : man kann einfach einen <code>begin</code> und <code>end</code> eingeben, und das mit nahezu jedem Iteratortypen, ohne ein Templatetyp in <code>&lt;&gt;</code> anzugeben.</p>
<p>Wie funktioniert das? Warum muss kein Typ angegeben werden? Woher kennt die Funktion dann später die Größe eines Elementes des Vektors?<br />
Wie heißt das, damit ich danach Googlen kann?</p>
<p>Siehe auch: <a href="http://www.c-plusplus.net/forum/viewtopic.php?p=2275319#2275372" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?p=2275319#2275372</a></p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311156/quot-typenloses-quot-template</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 00:32:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311156.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Nov 2012 11:43:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;typenloses&amp;quot; Template? on Wed, 28 Nov 2012 11:43:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mich schon öfters gefragt, wie das genau funktioniert.<br />
Man kennt es von <code>std::find</code> : man kann einfach einen <code>begin</code> und <code>end</code> eingeben, und das mit nahezu jedem Iteratortypen, ohne ein Templatetyp in <code>&lt;&gt;</code> anzugeben.</p>
<p>Wie funktioniert das? Warum muss kein Typ angegeben werden? Woher kennt die Funktion dann später die Größe eines Elementes des Vektors?<br />
Wie heißt das, damit ich danach Googlen kann?</p>
<p>Siehe auch: <a href="http://www.c-plusplus.net/forum/viewtopic.php?p=2275319#2275372" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?p=2275319#2275372</a></p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2275425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2275425</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Wed, 28 Nov 2012 11:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;typenloses&amp;quot; Template? on Wed, 28 Nov 2012 11:57:45 GMT]]></title><description><![CDATA[<p>template argument deduction.</p>
<p>Da der Compiler den Typ der Funktionsargumente sowieso schon kennt, kann er schließlich auch genau diesen Typ automatisch als Argument für das Template benutzen. Im Prinzip funktioniert alles recht intuitiv, erst wenn du tief in die Sonderregeln eintauchst (und wehe, du bringst auch noch Überladungen ins Spiel!) wird es kompliziert.</p>
<p>Man sollte auch aufpassen, dass die Typen eindeutig sind, was für Anfänger manchmal verwirrend ist, wenn Typen ins Spiel kommen, die sie in anderen Zusammenhängen als kompatibel kennen:</p>
<pre><code>template &lt;typename T&gt; void foo(T, T) {}

int main()
{
  int i = 0;
  unsigned u = i;  // eigentlich sind int und unsigned direkt ineinander umwandelbar

  foo(0, u);  // Fehler: Was nun, int oder unsigned int?
  foo(0U, u);  // So ist klar, unsigned ist gemeint
  foo&lt;int&gt;(0, u); // Man kann auch so schreiben, dass man int möchte
}
</code></pre>
<p>P.S.: In C++11 gibt es mit auto und decltype ähnliche Mechanismen nicht nur auf Templateargumente beschränkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2275426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2275426</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 28 Nov 2012 11:57:45 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;typenloses&amp;quot; Template? on Wed, 28 Nov 2012 12:02:00 GMT]]></title><description><![CDATA[<p>Perfekt. Danke!<br />
Habe es durch das Stichwort noch mal in der C++-FAQ nachlesen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2275430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2275430</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Wed, 28 Nov 2012 12:02:00 GMT</pubDate></item></channel></rss>