<?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[Template-Parameter-Typ des Template Parameters]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiß, dass ich als Template-Parameter ein Template mit einem Template-Parameter erhalte. Jetzt möchte ich herausfinden, welcher Typ dies ist.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class Bar{
public:
        typedef T type;
};

template&lt;typename O&gt;
class Foo {
public:
        typedef typename O::type T;
};

int main(){
        Foo&lt;Bar&lt;int&gt; &gt; f;
}
</code></pre>
<p>Also ich möchte es genauso wie im Beispiel darüber, so dass ich in T danach int stehen habe.<br />
Allerdings hätte ich gerne eine Lösung die den typedef in Bar nicht benötigt.<br />
Kann ich die Template-Parameter-Definition in Foo evtl. irgendwie anpassen?<br />
Oder brauch in so einen typedef zwangsläufig?</p>
<p>Gruß,<br />
Mirko</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284913/template-parameter-typ-des-template-parameters</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 19:10:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284913.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Apr 2011 07:53:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 07:53:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiß, dass ich als Template-Parameter ein Template mit einem Template-Parameter erhalte. Jetzt möchte ich herausfinden, welcher Typ dies ist.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class Bar{
public:
        typedef T type;
};

template&lt;typename O&gt;
class Foo {
public:
        typedef typename O::type T;
};

int main(){
        Foo&lt;Bar&lt;int&gt; &gt; f;
}
</code></pre>
<p>Also ich möchte es genauso wie im Beispiel darüber, so dass ich in T danach int stehen habe.<br />
Allerdings hätte ich gerne eine Lösung die den typedef in Bar nicht benötigt.<br />
Kann ich die Template-Parameter-Definition in Foo evtl. irgendwie anpassen?<br />
Oder brauch in so einen typedef zwangsläufig?</p>
<p>Gruß,<br />
Mirko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047368</guid><dc:creator><![CDATA[Mirko Z]]></dc:creator><pubDate>Mon, 11 Apr 2011 07:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 08:34:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;template&lt;class T&gt; class B&gt; struct Foo
{
    typedef T T;
    typedef B&lt;T&gt; Type;
};
</code></pre>
<p>Die Syntax ist eventuell etwas anderes, habe das lange nicht mehr benutzt und jetzt auch nicht getestet, aber so ähnlich geht es auf jeden Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047389</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 11 Apr 2011 08:34:17 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 09:01:31 GMT]]></title><description><![CDATA[<p>So hab ich es zuerst versucht, jedoch braucht man diese Syntax für etwas wie:</p>
<pre><code class="language-cpp">Foo&lt;Bar &gt; f;
</code></pre>
<p>Danach kann man dann im Template die Parameter dafür 'ergänzen'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047400</guid><dc:creator><![CDATA[Mirko Z]]></dc:creator><pubDate>Mon, 11 Apr 2011 09:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 09:12:52 GMT]]></title><description><![CDATA[<p>Ups, das habe ich jetzt verwechselt...<br />
Dann kenne ich leider auch keinen Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047406</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 11 Apr 2011 09:12:52 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 09:30:02 GMT]]></title><description><![CDATA[<p>Wenn man Spielereien mit typeid ausschließt, dann lautet die Antwort: Du kommst nicht um die Benutzung spezieller Member (z.B. typedefs oder mit decltype auch andere Member) herum. Die Frage ist natürlich, wieso dies ein Problem darstellen sollte. Ich kann mir keinen einzigen Anwendungsfall vorstellen in dem man das Argument eines allgemeinen Templates brauchen würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047409</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 11 Apr 2011 09:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 10:11:47 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Wenn man Spielereien mit typeid ausschließt, dann lautet die Antwort: Du kommst nicht um die Benutzung spezieller Member (z.B. typedefs oder mit decltype auch andere Member) herum. Die Frage ist natürlich, wieso dies ein Problem darstellen sollte.</p>
</blockquote>
<p>Ich dachte nur, ich gehe einen Umweg mit dem typedef, der nicht nötig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047421</guid><dc:creator><![CDATA[Mirko Z]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Parameter-Typ des Template Parameters on Mon, 11 Apr 2011 12:02:25 GMT]]></title><description><![CDATA[<p>Wie stellst Du Dir das denn vor? Ich empfinde das nicht als Umweg, sondern als intuitive Lösung.</p>
<p>Du hast einen Template-Parameter der eine Klasse mit bestimmtem Typ ist. Jetzt möchtest Du dessen Typ gerne für diese neue Klasse nutzen. Bekannt ist dieser Typ aber nur durch diese Klasse. Durch das typedef kürzt Du die Geschichte ab, es steht Dir natürlich frei jederzeit <code>typename O::type</code> stattdessen zu schreiben, aber das macht es nur länger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047489</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Mon, 11 Apr 2011 12:02:25 GMT</pubDate></item></channel></rss>