<?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;lt;T&amp;gt; überflüssig bei Typ in Templatemethode?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Klassentemplate Vector:</p>
<pre><code class="language-cpp">template &lt;class T&gt; Vector { ... };
</code></pre>
<p>Mir ist gerade aufgefallen, dass ich bei einer Methode offenbar das &lt;T&gt; beim Typen weglassen kann:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
Vector&lt;T&gt;&amp; Vector&lt;T&gt;::operator*=(const Vector&amp; rhs)
</code></pre>
<p>Ich übergebe hier einen Vector und NICHT einen Vector&lt;T&gt; und dennoch klappt alles wunderbar. Wieso funktioniert das? Ist das ein Bug des Compilers VC? Oder sind beide Schreibweisen äquivalent?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243434/lt-t-gt-überflüssig-bei-typ-in-templatemethode</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 03:27:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243434.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Jun 2009 16:32:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;lt;T&amp;gt; überflüssig bei Typ in Templatemethode? on Tue, 16 Jun 2009 16:32:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Klassentemplate Vector:</p>
<pre><code class="language-cpp">template &lt;class T&gt; Vector { ... };
</code></pre>
<p>Mir ist gerade aufgefallen, dass ich bei einer Methode offenbar das &lt;T&gt; beim Typen weglassen kann:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
Vector&lt;T&gt;&amp; Vector&lt;T&gt;::operator*=(const Vector&amp; rhs)
</code></pre>
<p>Ich übergebe hier einen Vector und NICHT einen Vector&lt;T&gt; und dennoch klappt alles wunderbar. Wieso funktioniert das? Ist das ein Bug des Compilers VC? Oder sind beide Schreibweisen äquivalent?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727732</guid><dc:creator><![CDATA[safthuhn]]></dc:creator><pubDate>Tue, 16 Jun 2009 16:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;T&amp;gt; überflüssig bei Typ in Templatemethode? on Tue, 16 Jun 2009 16:42:39 GMT]]></title><description><![CDATA[<p>Sind äquivalent</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727737</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 16 Jun 2009 16:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;T&amp;gt; überflüssig bei Typ in Templatemethode? on Tue, 16 Jun 2009 18:50:14 GMT]]></title><description><![CDATA[<p>safthuhn schrieb:</p>
<blockquote>
<p>Wieso funktioniert das?</p>
</blockquote>
<p>In einem Klassentemplate ist der Klassenname ohne Templateparameter äquivalent zum Klassennamen mit Templateparameter. Kurzes Beispiel:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
struct Test
{
// hier drin ist der Typ Test gleich wie Test&lt;T&gt;
// Wurde zur Vereinfachung eingeführt, ist also im Standard definiert.
};
</code></pre>
<p>Nun zu deiner Funktion und wieso es dort funktioniert:</p>
<pre><code class="language-cpp">Vector&lt;T&gt;&amp; Vector&lt;T&gt;::operator*=(const Vector&amp; rhs)
// ausserhalb der Klasse| innerhalb der Klasse
</code></pre>
<p>Also sobald man <code>Vector&lt;T&gt;::</code> hingeschrieben hat, befindet man sich im Scope der Klasse.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727826</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 16 Jun 2009 18:50:14 GMT</pubDate></item></channel></rss>