<?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[Maps: value einzigartig?]]></title><description><![CDATA[<p>hallo,</p>
<p>folgendes Problem: ich habe eine map (std::map&lt;int, meinStruct *&gt; meineMap), wobei der Key ein Int ist und der Value ein eigenes Struct, das ganze schaut vereinfacht in etwa so aus:</p>
<pre><code class="language-cpp">typedef struct {
  meinObject *meinObjectPtr;
  string filename;
} meinStruct;

std::map&lt;int, meinStruct *&gt; meineMap;
</code></pre>
<p>jetzt soll allerdings in meineMap nicht nur der Key (int) einzigartig sein sondern auch ein Teil vom Value der Map (*meinObjectPtr). Will ich also in die map einen Wert speichern mit einem zwar neuen Key den es noch nicht gibt aber mit einem schon eingetragenen *meinObjectPtr dann will ich den alten Wert samt Key mit den neuen Wert überschreiben.</p>
<p>Gibt es dafür geeignete STL Container oder geht das sowieso überhaupt nicht und es muss komplett anders aufgebaut werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215561/maps-value-einzigartig</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 06:54:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215561.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Jun 2008 13:36:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 13:36:58 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>folgendes Problem: ich habe eine map (std::map&lt;int, meinStruct *&gt; meineMap), wobei der Key ein Int ist und der Value ein eigenes Struct, das ganze schaut vereinfacht in etwa so aus:</p>
<pre><code class="language-cpp">typedef struct {
  meinObject *meinObjectPtr;
  string filename;
} meinStruct;

std::map&lt;int, meinStruct *&gt; meineMap;
</code></pre>
<p>jetzt soll allerdings in meineMap nicht nur der Key (int) einzigartig sein sondern auch ein Teil vom Value der Map (*meinObjectPtr). Will ich also in die map einen Wert speichern mit einem zwar neuen Key den es noch nicht gibt aber mit einem schon eingetragenen *meinObjectPtr dann will ich den alten Wert samt Key mit den neuen Wert überschreiben.</p>
<p>Gibt es dafür geeignete STL Container oder geht das sowieso überhaupt nicht und es muss komplett anders aufgebaut werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527787</guid><dc:creator><![CDATA[edwood]]></dc:creator><pubDate>Thu, 12 Jun 2008 13:36:58 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 13:47:57 GMT]]></title><description><![CDATA[<p>Warum verwendest du dann nicht gleich meinObjectPtr als Key?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527791</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 12 Jun 2008 13:47:57 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 14:19:38 GMT]]></title><description><![CDATA[<p>Normalerweise verwendet eine std::map den <strong>operator&lt;</strong>, um Keys zu vergleichen und die entsprechende Position im Suchbaum (gewöhnlich ein <a href="http://de.wikipedia.org/wiki/Rot-Schwarz-Baum" rel="nofollow">Rot-Schwarz-Baum</a>) zu ermitteln. Du kannst eine Datenstruktur für den Key erstellen, und den kleiner-als-Operator implementieren, oder du kannst der map als dritten Template-Parameter einen Funktor-Typ übergeben, der zum Vergleich der Keys herangezogen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527795</guid><dc:creator><![CDATA[Kreppel]]></dc:creator><pubDate>Thu, 12 Jun 2008 14:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 13:53:36 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Warum verwendest du dann nicht gleich meinObjectPtr als Key?</p>
</blockquote>
<p>weil da wo ich die map auslese ist der int-Wert der einzige Wert der mir dort bekannt ist. Nach dem suche ich in der map und gebe die Daten des Structs aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527797</guid><dc:creator><![CDATA[edwood]]></dc:creator><pubDate>Thu, 12 Jun 2008 13:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 14:07:31 GMT]]></title><description><![CDATA[<p>Edit: nt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527801</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 12 Jun 2008 14:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Thu, 12 Jun 2008 14:06:59 GMT]]></title><description><![CDATA[<p>Du könntest ja mal was mit boost::multi_index versuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527802</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 12 Jun 2008 14:06:59 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Fri, 13 Jun 2008 06:27:26 GMT]]></title><description><![CDATA[<p>da fällt mir auch noch ne frage zu map ein.</p>
<p>ich würde gerne ne map machen, welche schon definierte schlüssel (Strings) hat.</p>
<pre><code class="language-cpp">std::map&lt;std::string,MYDATA&gt; m_mCollection;

m_mCollection[&quot;A&quot;]= ...;
m_mCollection[&quot;B&quot;]= ...;
m_mCollection[&quot;C&quot;]= ...;
m_mCollection[&quot;D&quot;]= ...;
</code></pre>
<p>nun will ich später die werte der Schlüssel A-D lesen und setzen.. wenn ich aber bspw. ein wert auf den schlüssel &quot;E&quot; setzeb will, soll das NICHT gehen! nur die erlaubten schlüssel a-D sind gültig... geht sowas? oder muss ich alle vorher schlüssel iterieren und pürfen ob schlüssel X ein gültiger ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528180</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 13 Jun 2008 06:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Fri, 13 Jun 2008 06:32:57 GMT]]></title><description><![CDATA[<p>Du musst prüfen, ob der Schlüssel schon drin ist. Dazu musst du aber nicht iterieren. Dafür gibt es std:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f5fa.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--world_map"
      title=":map:"
      alt="🗺"
    />:find.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528183</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 13 Jun 2008 06:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to Maps: value einzigartig? on Fri, 13 Jun 2008 06:34:14 GMT]]></title><description><![CDATA[<p>sehr gut danke^^;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528184</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 13 Jun 2008 06:34:14 GMT</pubDate></item></channel></rss>