<?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[Frage zu verschachtelter Map]]></title><description><![CDATA[<p>Ich habe folgenden Quellcode:</p>
<pre><code class="language-cpp">typedef map&lt;string, map&lt;string, string&gt; &gt; TYPE;

TYPE meinObjekt;

//...

for (TYPE::iterator i=meinObjekt.begin (); i!=meinObjekt.end (); i++)
{
    cout&lt;&lt;i-&gt;first&lt;&lt;'\n';

    //Problem:
    for (/*???*/::iterator k=i-&gt;second.begin (); k!=i-&gt;second.end (); k++)
        cout&lt;&lt;k-&gt;first&lt;&lt;' '&lt;&lt;k-&gt;second&lt;&lt;'\n';
}
</code></pre>
<p>Frage: Wie schreibe ich in Zeile 12 den Typ von k hin, ohne explizit</p>
<pre><code class="language-cpp">map&lt;string, string&gt;::iterator
</code></pre>
<p>schreiben zu müssen? (Denn TYPE ist ja ein typedef und demnach wäre es kein guter Stil, nochmal dessen inneren Typ explizit anzugeben.)</p>
<p>Muß ich dafür gleich am Anfang</p>
<pre><code class="language-cpp">typedef map&lt;string, string&gt; INNER_TYPE;
typedef map&lt;string, INNER_TYPE&gt; TYPE;
</code></pre>
<p>schreiben, um dann die Variable k mit</p>
<pre><code class="language-cpp">INNER_TYPE::iterator k
</code></pre>
<p>deklarieren zu können oder gibt es eine saubere Lösung, bei der ich auf diese zusätzliche Deklaration des INNER_TYPEs verzichten kann und den Iteratortyp direkt aus der Variable i herausbekomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174649/frage-zu-verschachtelter-map</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 19:29:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174649.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Mar 2007 14:51:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 14:51:38 GMT]]></title><description><![CDATA[<p>Ich habe folgenden Quellcode:</p>
<pre><code class="language-cpp">typedef map&lt;string, map&lt;string, string&gt; &gt; TYPE;

TYPE meinObjekt;

//...

for (TYPE::iterator i=meinObjekt.begin (); i!=meinObjekt.end (); i++)
{
    cout&lt;&lt;i-&gt;first&lt;&lt;'\n';

    //Problem:
    for (/*???*/::iterator k=i-&gt;second.begin (); k!=i-&gt;second.end (); k++)
        cout&lt;&lt;k-&gt;first&lt;&lt;' '&lt;&lt;k-&gt;second&lt;&lt;'\n';
}
</code></pre>
<p>Frage: Wie schreibe ich in Zeile 12 den Typ von k hin, ohne explizit</p>
<pre><code class="language-cpp">map&lt;string, string&gt;::iterator
</code></pre>
<p>schreiben zu müssen? (Denn TYPE ist ja ein typedef und demnach wäre es kein guter Stil, nochmal dessen inneren Typ explizit anzugeben.)</p>
<p>Muß ich dafür gleich am Anfang</p>
<pre><code class="language-cpp">typedef map&lt;string, string&gt; INNER_TYPE;
typedef map&lt;string, INNER_TYPE&gt; TYPE;
</code></pre>
<p>schreiben, um dann die Variable k mit</p>
<pre><code class="language-cpp">INNER_TYPE::iterator k
</code></pre>
<p>deklarieren zu können oder gibt es eine saubere Lösung, bei der ich auf diese zusätzliche Deklaration des INNER_TYPEs verzichten kann und den Iteratortyp direkt aus der Variable i herausbekomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237540</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 01 Mar 2007 14:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 14:54:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">TYPE::data_type::iterator
</code></pre>
<p><a href="http://www.sgi.com/tech/stl/Map.html" rel="nofollow">http://www.sgi.com/tech/stl/Map.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237544</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 01 Mar 2007 14:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 15:31:25 GMT]]></title><description><![CDATA[<p>Danke. Aber obwohl es auch auf der Seite so steht, war der richtige Typ eigentlich mapped_type und nicht data_type, zumindest beim G++. Weiß einer, warum auf dieser Seite etwas von data_type geschrieben steht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237571</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:31:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 15:37:00 GMT]]></title><description><![CDATA[<p>Andere Implementierung, weis nicht ob der Standard da was vorschreibt<br />
G++ --&gt; <a href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1map.html" rel="nofollow">http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1map.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237576</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 15:40:39 GMT]]></title><description><![CDATA[<p>STL != Standardlib.</p>
<p>Aber auf mich hört ja keiner. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>STL ist nur im Volksmund die Standardlib. Akademisch gesehen aber falsch. Zahnspange ist auch im Volksmund ein Begriff, aber jeder Zahntechniker hält sich bei diesem Begriff seine Hände auf den Kopf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also, immer in eine Std-Lib-Doku schauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237579</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:40:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 15:49:57 GMT]]></title><description><![CDATA[<p>Sorry mein Fehler, aber die sgi Seite ist halt so schön übersichtlich, und die meisten Sachen sind gleich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237583</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 15:49:58 GMT]]></title><description><![CDATA[<blockquote>
<p>STL != Standardlib.</p>
</blockquote>
<p>Ist das hier überhaupt wichtig? Also, wenn ich beim GCC/MinGW</p>
<pre><code class="language-cpp">#include &lt;map&gt;
</code></pre>
<p>aufrufe, dann macht der intern im wesentlichen bloß folgendes:</p>
<pre><code class="language-cpp">#include &lt;bits/stl_map.h&gt;
</code></pre>
<p>Wo also besteht der Unterschied zwischen der Standard-map und der STL-map? Ich dachte bisher immer, die STL wäre ein Teil der Standardbibliothek.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237584</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu verschachtelter Map on Thu, 01 Mar 2007 16:51:15 GMT]]></title><description><![CDATA[<p>Nein. Große Teile der STL wurden in die Standardbibliothek übernommen. Das macht die STL aber noch nicht vollständig zu einem Teil selbiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237621</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 01 Mar 2007 16:51:15 GMT</pubDate></item></channel></rss>