<?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[Iterator eines std::unordered_map]]></title><description><![CDATA[<p>Warum sind Zeilen 7 und 8 ein Problem??</p>
<p>Danke</p>
<pre><code>#include &lt;unordered_map&gt;

int main()
{
    std::unordered_multimap&lt;int,int&gt; myumm({{1,3},{3,2},{5,5},{0,9}});
    auto first = myumm.begin();
    auto second = first+1;
    auto third = --myumm.end();
    auto fourth = myumm.end();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/330917/iterator-eines-std-unordered_map</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 15:54:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330917.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Feb 2015 13:30:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 13:30:13 GMT]]></title><description><![CDATA[<p>Warum sind Zeilen 7 und 8 ein Problem??</p>
<p>Danke</p>
<pre><code>#include &lt;unordered_map&gt;

int main()
{
    std::unordered_multimap&lt;int,int&gt; myumm({{1,3},{3,2},{5,5},{0,9}});
    auto first = myumm.begin();
    auto second = first+1;
    auto third = --myumm.end();
    auto fourth = myumm.end();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2440806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440806</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Mon, 02 Feb 2015 13:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 13:42:44 GMT]]></title><description><![CDATA[<p>Der Iterator einer std::unordered_multimap ist ein Forward-Iterator. Das bedeutet, dass der operator+ und das rückwärts iterieren nicht erlaubt sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440807</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Mon, 02 Feb 2015 13:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 14:15:48 GMT]]></title><description><![CDATA[<p>Danke,</p>
<p>ich habe das erste Bsp. erweitert. Der Sinn dahinter ist immer 2 Elemente einer unordered_map mit den letzten beiden zu vergleichen. Wenn gleich, dann ist die Schleife zu Ende. Leider kompiliert das Bsp. nicht.</p>
<p>Wie würdet ihr iterieren?</p>
<pre><code>#include &lt;functional&gt;
#include &lt;iostream&gt;
#include &lt;boost/iterator/zip_iterator.hpp&gt;
#include &lt;boost/tuple/tuple.hpp&gt;

int main()
{
    std::unordered_multimap&lt;int,int&gt; myumm({{1,3},{3,2},{5,5},{0,9}});

    auto first = myumm.begin();
    auto second = std::next(first,1);
    auto third = std::next(first,myumm.size()-1);
    auto fourth = myumm.end();

    std::for_each (
        boost::make_zip_iterator (
            boost::make_tuple(first,second)
        )
      , boost::make_zip_iterator (
            boost::make_tuple(third, fourth)
        )
      , [] (
            boost::tuple &lt;
                std::unordered_multimap&lt;int,int&gt;::iterator
              , std::unordered_multimap&lt;int,int&gt;::iterator
            &gt; const &amp; _layout
        ) {
        }
    );
}
</code></pre>
<p>Fehlermeldung</p>
<pre><code>/usr/include/boost/tuple/detail/tuple_basic.hpp:310:37: error: no matching
      constructor for initialization of 'stored_head_type' (aka
      'std::__detail::_Node_iterator&lt;std::pair&lt;const int, int&gt;, false, false&gt;')
  cons( const cons&lt;HT2, TT2&gt;&amp; u ) : head(u.head), tail(u.tail) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2440812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440812</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Mon, 02 Feb 2015 14:15:48 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 14:49:57 GMT]]></title><description><![CDATA[<p>Ich habe zwar keine Antwort auf die Frage, aber 2 Anmerkungen: erst mal solltest Du für C++-Code hier die C++-Code-Tags statt der einfachen Code-Tags verwenden. Und ausserdem liefert myumm.end() einen Iterator, der hinter das letzte Element zeigt. Das ist aber nicht das, was Du willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440818</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Mon, 02 Feb 2015 14:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 15:54:16 GMT]]></title><description><![CDATA[<p>Ich kann mir auch grad nicht viele Anwendungsbeispiele vorstellen, wo es Sinn machen würde in einer unordered map ein Element mit seinen zwei &quot;Vorgängern&quot; zu vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440835</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 02 Feb 2015 15:54:16 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 16:04:32 GMT]]></title><description><![CDATA[<p>Zum Anwendungsfall:<br />
Das erste Element des o.g. myumm ergibt mit dem Wert des Nächsten die Größe mehrerer Matrizen z.B. a0 = start-&gt;first X next-&gt;first, a1 = start-&gt;first X 1, ..., b0 = ++start-&gt;first X ++next-&gt;first, ..., usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440840</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Mon, 02 Feb 2015 16:04:32 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 16:39:39 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>Zum Anwendungsfall:<br />
Das erste Element des o.g. myumm ergibt mit dem Wert des Nächsten die Größe mehrerer Matrizen z.B. a0 = start-&gt;first X next-&gt;first, a1 = start-&gt;first X 1, ..., b0 = ++start-&gt;first X ++next-&gt;first, ..., usw.</p>
</blockquote>
<p>Wie der Name sagt, sind die Elemente unsortiert, d.h. jedes mit jedem muss eine Matrix ergeben und auch noch sinnvoll sein. Damit willst du wohl eher ein Vector oder eine normale map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440848</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Mon, 02 Feb 2015 16:39:39 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 16:43:14 GMT]]></title><description><![CDATA[<p>Ein vector mit einem kleinen struct wäre auch i.O. Da hast du recht. Eine Map geht nicht, da eine Map die Werte sortieren würde. Ob die unordered_map Sinn macht wird an anderer Stelle geprüft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440850</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Mon, 02 Feb 2015 16:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator eines std::unordered_map on Mon, 02 Feb 2015 19:40:23 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>Ob die unordered_map Sinn macht wird an anderer Stelle geprüft.</p>
</blockquote>
<p>Verstehe ich nicht.<br />
Die <code>unordered_map</code> kann keinen Sinn machen wenn du eine bestimmte Reihenfolge brauchst.<br />
D.h. wenn <code>map</code> nicht geht weil es die Einträge sortiert (und damit deren Reihenfolge ändert), dann kann <code>unordered_map</code> aus dem selben Grund nicht gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440869</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 02 Feb 2015 19:40:23 GMT</pubDate></item></channel></rss>