<?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[Referenz auf map]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein assoziatives Array mittels map angelegt und eine Referenz darauf:</p>
<pre><code class="language-cpp">map&lt;char*, char*&gt; g;
map&lt;char*, char*&gt; &amp;ref_map = g;
</code></pre>
<p>Folgender Code</p>
<pre><code class="language-cpp">ref_map[&quot;test1&quot;] = &quot;bla&quot;;
cout &lt;&lt; &quot;size: &quot; &lt;&lt; g.size() &lt;&lt; endl;
if (g.find(&quot;test1&quot;)==0)
    cout &lt;&lt; &quot;test1: &quot; &lt;&lt; g[&quot;test1&quot;] &lt;&lt; endl;
else
    cout &lt;&lt; &quot;test1 wurde nicht gefunden!&quot; &lt;&lt; endl;

ref_map[&quot;test2&quot;] = &quot;blubb&quot;;
cout &lt;&lt; &quot;size: &quot; &lt;&lt; g.size() &lt;&lt; endl;

if (g.find(&quot;test2&quot;)==0)
    cout &lt;&lt; &quot;test2: &quot; &lt;&lt; g[&quot;test2&quot;] &lt;&lt; endl;
else
    cout &lt;&lt; &quot;test2 nicht gefunden!&quot;&lt;&lt;endl;
</code></pre>
<p>liefert mir dann folgende Ausgabe:</p>
<blockquote>
<p>size: 1<br />
test1 wurde nicht gefunden!<br />
size: 2<br />
test2 wurde nicht gefunden!</p>
</blockquote>
<p>Und nun frage ich mich natürlich warum er die Stellen nicht findet, obwohl er die richtige Größe und damit die Einträge scheinbar angelegt hat.</p>
<p>mfg chuqa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153031/referenz-auf-map</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 04:31:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153031.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Jul 2006 09:09:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:09:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein assoziatives Array mittels map angelegt und eine Referenz darauf:</p>
<pre><code class="language-cpp">map&lt;char*, char*&gt; g;
map&lt;char*, char*&gt; &amp;ref_map = g;
</code></pre>
<p>Folgender Code</p>
<pre><code class="language-cpp">ref_map[&quot;test1&quot;] = &quot;bla&quot;;
cout &lt;&lt; &quot;size: &quot; &lt;&lt; g.size() &lt;&lt; endl;
if (g.find(&quot;test1&quot;)==0)
    cout &lt;&lt; &quot;test1: &quot; &lt;&lt; g[&quot;test1&quot;] &lt;&lt; endl;
else
    cout &lt;&lt; &quot;test1 wurde nicht gefunden!&quot; &lt;&lt; endl;

ref_map[&quot;test2&quot;] = &quot;blubb&quot;;
cout &lt;&lt; &quot;size: &quot; &lt;&lt; g.size() &lt;&lt; endl;

if (g.find(&quot;test2&quot;)==0)
    cout &lt;&lt; &quot;test2: &quot; &lt;&lt; g[&quot;test2&quot;] &lt;&lt; endl;
else
    cout &lt;&lt; &quot;test2 nicht gefunden!&quot;&lt;&lt;endl;
</code></pre>
<p>liefert mir dann folgende Ausgabe:</p>
<blockquote>
<p>size: 1<br />
test1 wurde nicht gefunden!<br />
size: 2<br />
test2 wurde nicht gefunden!</p>
</blockquote>
<p>Und nun frage ich mich natürlich warum er die Stellen nicht findet, obwohl er die richtige Größe und damit die Einträge scheinbar angelegt hat.</p>
<p>mfg chuqa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096246</guid><dc:creator><![CDATA[Chuqa]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:09:14 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:12:20 GMT]]></title><description><![CDATA[<p>Das liegt nicht an der Referenz, sondern an deinem Vergleichskriterium - Pointer-Vergleiche betreffen die verwendeten <strong>Adressen</strong> und die Adressen zweier String-Literale sind idR verschieden.</p>
<p>(als Lösung könntest du statt der char* std::string verwenden, die vergleichen den Inhalt ihres Speichers - oder du definierst einen eigenen Funktor, der char*'s per strcmp() vergleicht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096249</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:18:24 GMT]]></title><description><![CDATA[<p>außerdem liefert 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 iterator zurück</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096253</guid><dc:creator><![CDATA[ssm]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:19:37 GMT]]></title><description><![CDATA[<p>Was mir selber erst auffiel als ich das Beispiel mal mit und ohne String-Pooling ausprobieren wollte:</p>
<p>Das liegt zunächst primär erstmal daran, dass Null kein gültiger Iterator von der Map ist und deshalb der Vergleich g.find(...)==0 undefiniert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096254</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:19:37 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:29:31 GMT]]></title><description><![CDATA[<p>Jo stimmt den Rückgabewert von find hab ich nicht beachtet. Mit</p>
<pre><code class="language-cpp">if (g.find(&quot;test&quot;)==g.end())
{
    /* nicht erfolgreich */
    ...
}
</code></pre>
<p>funktioniert das ganze dann. Danke</p>
<p>mfg chuqa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096259</guid><dc:creator><![CDATA[Chuqa]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:29:31 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 09:34:14 GMT]]></title><description><![CDATA[<p>Bist Du immernoch bei char*? Wenn ja: Wieso ignorierst Du CStoll? Das funktioniert nur weil Du <strong>Glück hast</strong>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096265</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 12 Jul 2006 09:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz auf map on Wed, 12 Jul 2006 13:52:30 GMT]]></title><description><![CDATA[<p>Nein nein, ich ignorier doch nicht jemand, der versucht mir hier zu helfen.<br />
Bin nicht mehr bei char*. Hab das auf map&lt;string, string&gt; geändert.<br />
Danke nochmals.</p>
<p>mfg chuqa.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096479</guid><dc:creator><![CDATA[Chuqa]]></dc:creator><pubDate>Wed, 12 Jul 2006 13:52:30 GMT</pubDate></item></channel></rss>