<?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[mapinhalt in vector schieben?]]></title><description><![CDATA[<p>Gibts dafür irgendeine tolle funktion oder muss ich alles selbst mit einer forschleife machen? Dachte da an sowas wie</p>
<p>vector.insert(map) oder so</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141468/mapinhalt-in-vector-schieben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 13:30:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141468.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Mar 2006 11:27:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 11:27:24 GMT]]></title><description><![CDATA[<p>Gibts dafür irgendeine tolle funktion oder muss ich alles selbst mit einer forschleife machen? Dachte da an sowas wie</p>
<p>vector.insert(map) oder so</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021605</guid><dc:creator><![CDATA[jedesmalneu]]></dc:creator><pubDate>Wed, 22 Mar 2006 11:27:24 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 11:31:53 GMT]]></title><description><![CDATA[<p>Also wenn du das komplette map (sprich alle std::pair&lt;Key,Value&gt;) kopieren willst geht das recht hypsch.</p>
<pre><code class="language-cpp">myvec.insert(myvec.begin(),mymap.begin(),mymap.end());
</code></pre>
<p>BR<br />
evilissimo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021611</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 22 Mar 2006 11:31:53 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:07:31 GMT]]></title><description><![CDATA[<p>Ich glaub ich bin zu blöd <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Ich hab das exakt so übernommen und den Vector gegen einen leeren Vector bei mir ausgetauscht und eine ganz normale map&lt;string, MyClass&gt; angegeben.</p>
<blockquote>
<p>**<br />
xutility(2228) : error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::pair&lt;_Ty1,_Ty2&gt;' akzeptiert (oder keine geeignete Konvertierung möglich)</p>
<p>Sowie</p>
<p>Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden<br />
**</p>
</blockquote>
<p>Ich weiß nicht was damit gemeint ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021670</guid><dc:creator><![CDATA[:o)]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:13:41 GMT]]></title><description><![CDATA[<p>=&gt;</p>
<pre><code class="language-cpp">std::map&lt;int,std::string&gt; mymap;

std::vector&lt;std::pair&lt;int,std::string&gt; &gt; myvec;

myvec.insert(myvec.begin(), mymap.begin(), mymap.end());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1021674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021674</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:23:53 GMT]]></title><description><![CDATA[<p>war das nicht so, dass map den key als const T im pair ablegt? dann könnte es probleme geben, denn ein pair&lt;const T,U&gt; ist ja nicht in ein pair&lt;T,U&gt; (mit T non-const) konvertierbar (oder doch?). dann evtl. sowas:</p>
<pre><code class="language-cpp">std::map&lt;int,std::string&gt; mymap;

std::vector&lt;std::pair&lt;int,std::string&gt; &gt; myvec;

std::pair&lt;int,std::string&gt; m2v(const std::pair&lt;const int,std::string&gt;&amp; p)
{
    return std::pair&lt;int,std::string&gt;( p.first, p.second );
}

std::transform( mymap.begin(), mymap.end(), std::inserter( myvec.begin() ), m2v );
</code></pre>
<p>kann auch sein, dass ich völlig falsch liege.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021678</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:23:53 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:22:20 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>war das nicht so, dass map den key als const T im pair ablegt? dann könnte es probleme geben, denn ein pair&lt;const T,U&gt; ist ja nicht in ein pair&lt;T,U&gt; (mit T non-const) konvertierbar (oder doch?).</p>
</blockquote>
<p>Doch ist kopierbar. Es gibt einen &quot;Copy-&quot;Konstruktor der implizierte Konvertierung zulässt:</p>
<pre><code class="language-cpp">template&lt; typename FirstType , typename SecondType &gt;
template&lt; typename OtherFirstType , typename OtherSecondType &gt;
  pair&lt;FirstType,SecondType&gt;::pair( pair&lt;OtherFirstType,OtherSecondType&gt; const &amp; ){
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1021685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021685</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:25:16 GMT]]></title><description><![CDATA[<p>evilissimo schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>war das nicht so, dass map den key als const T im pair ablegt? dann könnte es probleme geben, denn ein pair&lt;const T,U&gt; ist ja nicht in ein pair&lt;T,U&gt; (mit T non-const) konvertierbar (oder doch?).</p>
</blockquote>
<p>Doch ist kopierbar. Es gibt einen &quot;Copy-&quot;Konstruktor der implizierte Konvertierung zulässt:</p>
<pre><code class="language-cpp">template&lt; typename FirstType , typename SecondType &gt;
template&lt; typename OtherFirstType , typename OtherSecondType &gt;
  pair&lt;FirstType,SecondType&gt;::pair( pair&lt;OtherFirstType,OtherSecondType&gt; const &amp; ){
...
</code></pre>
</blockquote>
<p>ok. dann liegt der fehler woanders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021687</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 13:28:49 GMT]]></title><description><![CDATA[<p>Ich empfehle die Verwendung von typedef und den typedefs der Container.</p>
<pre><code class="language-cpp">typedef std::map&lt;int,std::string&gt; mymap_type;
mymap_type mymap;

std::vector&lt;mymap_type::value_type&gt; myvec_type;
myvec_type myvec;

myvec.insert(myvec.begin(), mymap.begin(), mymap.end());
</code></pre>
<p>So kann nichts mehr schief gehen. Da brauchst Du Dir keine Gedanken mehr über std::pair und const und wie viele spitze Klammern und wo Leerzeichen zu machen. (Alle Probleme der Welt sind für immer gelöst <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>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021689</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:28:49 GMT</pubDate></item><item><title><![CDATA[Reply to mapinhalt in vector schieben? on Wed, 22 Mar 2006 15:03:52 GMT]]></title><description><![CDATA[<p>tntnet schrieb:</p>
<blockquote>
<p>Ich empfehle die Verwendung von typedef und den typedefs der Container.</p>
<pre><code class="language-cpp">typedef std::map&lt;int,std::string&gt; mymap_type;
mymap_type mymap;

std::vector&lt;mymap_type::value_type&gt; myvec_type;
myvec_type myvec;

myvec.insert(myvec.begin(), mymap.begin(), mymap.end());
</code></pre>
<p>So kann nichts mehr schief gehen. Da brauchst Du Dir keine Gedanken mehr über std::pair und const und wie viele spitze Klammern und wo Leerzeichen zu machen. (Alle Probleme der Welt sind für immer gelöst <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>Tommi</p>
</blockquote>
<p>wäre schön gewesen, dummerweise bist du jetzt tatsächlich in die const falle getappt. mymap_type::value_type erfüllt die container bedingungen nicht (CopyAssignable). <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1021765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021765</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 22 Mar 2006 15:03:52 GMT</pubDate></item></channel></rss>