<?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[Typedef von verschachtelten Typen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bekomme es gerade nicht hin und erinnere mich auch nicht, das je gelesen zu haben. Kann man ein Typedef von verschachtelten Typen erstellen? Also, ich möchte, dass &quot;foo_t&quot; im folgenden Code ein Typedef ist, sodass der folgende Code fehlerlos läuft:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Array&lt;T&gt;:

// ...
assert(typeid(Array&lt; Array&lt;int&gt; &gt;) == typeid(foo_t&lt;int&gt;));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/167027/typedef-von-verschachtelten-typen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 17:14:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167027.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Dec 2006 18:44:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Tue, 05 Dec 2006 18:44:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bekomme es gerade nicht hin und erinnere mich auch nicht, das je gelesen zu haben. Kann man ein Typedef von verschachtelten Typen erstellen? Also, ich möchte, dass &quot;foo_t&quot; im folgenden Code ein Typedef ist, sodass der folgende Code fehlerlos läuft:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Array&lt;T&gt;:

// ...
assert(typeid(Array&lt; Array&lt;int&gt; &gt;) == typeid(foo_t&lt;int&gt;));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1187487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187487</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 05 Dec 2006 18:44:52 GMT</pubDate></item><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Tue, 05 Dec 2006 19:59:15 GMT]]></title><description><![CDATA[<p>typedef deklariert ein Alias für einen Typ. Hier ist foo_t aber kein Typ sondern soll soetwas wie ein template sein. Ein derartiges Konstrukt ist mit C++ gegenwärtig nicht möglich - eine entsprechende Erweiterung in C++0x aber vorgesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187531</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 05 Dec 2006 19:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Tue, 05 Dec 2006 20:14:36 GMT]]></title><description><![CDATA[<p>Danke für die Information.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187542</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 05 Dec 2006 20:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Tue, 05 Dec 2006 23:02:01 GMT]]></title><description><![CDATA[<p>Evtl. lässt sich hier etwas mit Template Template Parametern machen. Dazu müsstest du aber mal genau schreiben, was du vorhast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187612</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 05 Dec 2006 23:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Wed, 06 Dec 2006 08:31:06 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>Evtl. lässt sich hier etwas mit Template Template Parametern machen. Dazu müsstest du aber mal genau schreiben, was du vorhast.</p>
</blockquote>
<p>Na, was ich vorhatte, ist genau das: Ein Typedef mit Typenparametern benutzen. Also im Prinzip folgendes (Pseudo-C++):</p>
<pre><code class="language-cpp">template &lt;typename T&gt; typedef Array&lt; Array&lt;T&gt; &gt; foo_t&lt;T&gt;;
</code></pre>
<p>Das geht natürlich so nicht. Mich interessierte halt, ob es sowas in der Art über ein Typedef gibt. Das Workaround ist ja offensichtlich:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
struct foo_t : Array&lt; Array&lt;T&gt; &gt; { /* nicht-vererbte Mitglieder hinzufügen */ };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1187703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187703</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 06 Dec 2006 08:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to Typedef von verschachtelten Typen on Wed, 06 Dec 2006 14:33:54 GMT]]></title><description><![CDATA[<p>Aso, ich dachte, du willst zwei Typen vergleichen, wie im ersten Beispiel. Aber wie camper schon sagte, so ein typedef Alias ist momentan nicht möglich und wird erst im nächsten Standard kommen. Momentan behilft man sich per Ableitung, wie im zweiten Beispiel. Was aber nicht ganz unproblematisch ist. Man kann aber auch direkt in der Klasse den Typ ablegen:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
struct foo_t
{
    typedef Array&lt; Array&lt;T&gt; &gt; type;
};

foo_t&lt;int&gt;::type blubb;
</code></pre>
<p>Ist semantisch zwar besser, aber wie du siehst, fehlt hier der Syntaxzucker.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187968</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Wed, 06 Dec 2006 14:33:54 GMT</pubDate></item></channel></rss>