<?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[Zuordnung von Koordinaten -&amp;gt; String]]></title><description><![CDATA[<p>Hi,</p>
<p>ich möchte mit einem Satz Koordinaten einen String finden</p>
<pre><code class="language-cpp">typedef struct
{
   UINT8 x;
   UINT8 y;
} CCoord_t;

std::map&lt;CCoord_t,String&gt; m_Map;
std::vector&lt;std::vector&lt;String&gt;&gt; m_Vector;
</code></pre>
<p>In der Richtung hatte ich mir das vorgestellt, aber eine std::map scheint nicht auf einem struct als Key zu funktionieren. Kann das sein? Bekomme eine dieser Template Compilerfehlermeldungen, die ich nicht lesen kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wäre es dann am sinnvollsten über den Vector zu indexieren?</p>
<pre><code class="language-cpp">String&amp; s = m_Vector[x][y];
</code></pre>
<p>Oder was würde am meisten Sinn machen?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156455/zuordnung-von-koordinaten-gt-string</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 19:42:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156455.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Aug 2006 18:48:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Wed, 16 Aug 2006 18:48:51 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich möchte mit einem Satz Koordinaten einen String finden</p>
<pre><code class="language-cpp">typedef struct
{
   UINT8 x;
   UINT8 y;
} CCoord_t;

std::map&lt;CCoord_t,String&gt; m_Map;
std::vector&lt;std::vector&lt;String&gt;&gt; m_Vector;
</code></pre>
<p>In der Richtung hatte ich mir das vorgestellt, aber eine std::map scheint nicht auf einem struct als Key zu funktionieren. Kann das sein? Bekomme eine dieser Template Compilerfehlermeldungen, die ich nicht lesen kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wäre es dann am sinnvollsten über den Vector zu indexieren?</p>
<pre><code class="language-cpp">String&amp; s = m_Vector[x][y];
</code></pre>
<p>Oder was würde am meisten Sinn machen?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118668</guid><dc:creator><![CDATA[__et_]]></dc:creator><pubDate>Wed, 16 Aug 2006 18:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Wed, 16 Aug 2006 19:02:41 GMT]]></title><description><![CDATA[<p>Du brauchst einfach nur eine Ordnungsrelation für dein CCoord_t:</p>
<pre><code class="language-cpp">// entweder
bool operator&lt;( CCoord_t const&amp; lhs, CCoord_t const&amp; rhs )
{
  return lhs.x &lt; rhs.x || (lhs.x == rhs.x &amp;&amp; lhs.y &lt; rhs.y);
}

// oder
struct CmpCCoord_t
{
  bool operator()( CCoord_t const&amp; lhs, CCoord_t const&amp; rhs ) const
  {
    return lhs.x &lt; rhs.x || (lhs.x == rhs.x &amp;&amp; lhs.y &lt; rhs.y);
  }
};
std::map&lt;CCoord_t, String, CmpCCoord_t&gt; m_Map;
</code></pre>
<p>edit:<br />
Falls deine Matrix vollbesetzt (ggf. sogar nur nahezu) ist macht der vector natürlich mehr Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118678</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Wed, 16 Aug 2006 19:02:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Wed, 16 Aug 2006 19:13:03 GMT]]></title><description><![CDATA[<p>Danke, auch wenn ich nicht ganz verstehe wieso, weshalb, warum. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>die Matrix ist ca. 20% gefüllt - es geht mehr um die Zuordnung, als den Raum zu füllen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118690</guid><dc:creator><![CDATA[__et_]]></dc:creator><pubDate>Wed, 16 Aug 2006 19:13:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Wed, 16 Aug 2006 19:24:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//machs so
   string Arr[10][20];
   // oder so
   typedef string(*strPtr)[20]; 
   strPtr PArr = new string [10][20];
   //z.B.
   PArr[5][6] = &quot;String65&quot;; 
   string s = PArr[5][6];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1118694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118694</guid><dc:creator><![CDATA[Helmut S.]]></dc:creator><pubDate>Wed, 16 Aug 2006 19:24:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Thu, 17 Aug 2006 09:07:14 GMT]]></title><description><![CDATA[<p>Danke, Array (und auch Vector) wollte ich eigentlich nicht benutzen, weil man für den ganzen Bereich dann eben Speicher braucht auch wenn er nur wenig gefüllt wird.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4239">@finix</a><br />
Wieso funktioniert ...</p>
<pre><code class="language-cpp">void setPosition( const String&amp; name, const CCoord_t&amp; position )
{
	//dieses hier:
	m_Map__[position] = name;
	//...aber dieses nicht:
	m_Map__.insert( position, name );

}
</code></pre>
<p>Ich dachte es wäre <em>das Gleiche</em></p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118975</guid><dc:creator><![CDATA[__et_]]></dc:creator><pubDate>Thu, 17 Aug 2006 09:07:14 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Thu, 17 Aug 2006 09:13:38 GMT]]></title><description><![CDATA[<p>Weil dein insert falsch ist. Es müsste so aussehen (z.Bsp.)</p>
<pre><code class="language-cpp">m_Map__.insert( make_pair(position, name) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1118982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118982</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 17 Aug 2006 09:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Thu, 17 Aug 2006 09:20:01 GMT]]></title><description><![CDATA[<p>Davon ab ist es auch semantisch nicht das Gleiche: op[] überschreibt den alten Wert, insert nicht.<br />
Und doppelte Underscores sind als Bezeichner gar nicht gern gesehen <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/1118991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118991</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Thu, 17 Aug 2006 09:20:01 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Thu, 17 Aug 2006 09:30:20 GMT]]></title><description><![CDATA[<p>Danke! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118999</guid><dc:creator><![CDATA[__et_]]></dc:creator><pubDate>Thu, 17 Aug 2006 09:30:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zuordnung von Koordinaten -&amp;gt; String on Thu, 17 Aug 2006 12:50:59 GMT]]></title><description><![CDATA[<p>_<em>et</em> schrieb:</p>
<blockquote>
<p>Hi,</p>
<pre><code class="language-cpp">...
std::vector&lt;std::vector&lt;String&gt;&gt; m_Vector;
</code></pre>
<p>...</p>
</blockquote>
<p>Nur noch eine ganz kleiner Bemerkung am Rande:<br />
&quot;&gt;&gt;&quot; darf man in templates nicht schreiben, weil das als eigenes Token gelesen wird ! (hast Du vielleicht auch nicht, aber hier sieht's eben so aus)<br />
Sowas schmeißt auch garstige Fehlermeldungen.</p>
<p>Da muss ein Leerzeichen zwischen:</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;String&gt; &gt; m_Vector;
</code></pre>
<p>Mit den anderen Definitionen hast Du das Problem erstmal umgangen, aber es könnte Dich doch hier und da noch erwischen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119168</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 17 Aug 2006 12:50:59 GMT</pubDate></item></channel></rss>