<?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[map::mapped_type für alloziierung]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mehrere maps, ungefähr so definiert:</p>
<pre><code class="language-cpp">typedef map&lt;KlasseA*, KlasseB*&gt; ABM;
typedef map&lt;KlasseA*, KlasseC*&gt; ACM;
//[...]
ABM t1;
ACM t2;
</code></pre>
<p>Nun habe ich eine Templatefunktion geschrieben der ich diese maps übergeben möchte und die dann entsprechend einen Eintrag für die übergebene Map erzeugt. Mein Problem ist, dass ich nicht map::mapped_type verwenden kann, da es ein Zeiger ist:</p>
<pre><code class="language-cpp">template &lt; typename MAPTYPE &gt;
bool AddEntry(KlasseA* t_key, MAPTYPE&amp; ref_map)
{
	MAPTYPE::mapped_type t_type = new MAPTYPE::mapped_type(t_key);
        //[...]
}

/* Code */
AddEntry(ptr_key,t1);
</code></pre>
<p>Wie komm ich an den mapped_type typ ran um ihn entsprechend für die Alloziierung zu verwenden (OHNE den typen z.b. als Templateparameter aufzuführen)?</p>
<p>Vielen Dank iV</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304276/map-mapped_type-für-alloziierung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 00:49:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304276.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Jun 2012 14:32:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Sat, 02 Jun 2012 14:34:25 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mehrere maps, ungefähr so definiert:</p>
<pre><code class="language-cpp">typedef map&lt;KlasseA*, KlasseB*&gt; ABM;
typedef map&lt;KlasseA*, KlasseC*&gt; ACM;
//[...]
ABM t1;
ACM t2;
</code></pre>
<p>Nun habe ich eine Templatefunktion geschrieben der ich diese maps übergeben möchte und die dann entsprechend einen Eintrag für die übergebene Map erzeugt. Mein Problem ist, dass ich nicht map::mapped_type verwenden kann, da es ein Zeiger ist:</p>
<pre><code class="language-cpp">template &lt; typename MAPTYPE &gt;
bool AddEntry(KlasseA* t_key, MAPTYPE&amp; ref_map)
{
	MAPTYPE::mapped_type t_type = new MAPTYPE::mapped_type(t_key);
        //[...]
}

/* Code */
AddEntry(ptr_key,t1);
</code></pre>
<p>Wie komm ich an den mapped_type typ ran um ihn entsprechend für die Alloziierung zu verwenden (OHNE den typen z.b. als Templateparameter aufzuführen)?</p>
<p>Vielen Dank iV</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218501</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Sat, 02 Jun 2012 14:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Sat, 02 Jun 2012 14:58:02 GMT]]></title><description><![CDATA[<p>Type Traits:</p>
<pre><code class="language-cpp">MAPTYPE::mapped_type a = new std::remove_pointer&lt;MAPTYPE::mapped_type&gt;::type(t_key);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2218508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218508</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 02 Jun 2012 14:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Sat, 02 Jun 2012 16:47:11 GMT]]></title><description><![CDATA[<p>Da fehlen noch viele &quot;typename&quot;s:</p>
<pre><code class="language-cpp">typename MAPTYPE::mapped_type a =
  new typename std::remove_pointer&lt;typename MAPTYPE::mapped_type&gt;::type(t_key);
</code></pre>
<p>Welcome to the wonderful world of templates!</p>
<p>Du kannst dich auch auf den map-Typen festlegen:</p>
<pre><code class="language-cpp">template &lt; typename K &gt;
bool AddEntry(KlasseA* t_key, std::map&lt;KlasseA*,K*&gt;&amp; ref_map)
{
    K* t_type = new K(t_key);
    //[...]
}
</code></pre>
<p>... wobei das zu viele * nach meinem Geschmack wären. Sicher, dass du weißt, was du da tust und nicht krampfhaft versuchst, Java in C++ zu proggen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218561</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sat, 02 Jun 2012 16:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Sat, 02 Jun 2012 17:32:03 GMT]]></title><description><![CDATA[<p>Das mit dem Festlegen ist ganz schön, daran hab ich mich nicht erinnert...<br />
Zu Java: Ja, schon wieder so viele Leute hier, die Stackobjekte meiden! Was'n da lous, Leute, was'n da lous!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218577</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 02 Jun 2012 17:32:03 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Sun, 03 Jun 2012 12:34:04 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>vielen Dank euch beiden! remove_pointer ist genau was ich suche! (ja typename immer schön davor gesetzt..^^)</p>
<p>Haha, ja leider geht es mit den Pointern in diesem Fall nicht anders...na ja, zumindest der Key, den Value könnte man durchaus aufn Stack erzeugen, aber leider war das nicht meine entscheidung...ich bin nur das ausführende Organ in diesem Fall (nicht brainlos, aber ich habe keinen Einfluß mehr auf die Konzeption...hat mir aber mal wieder gezeigt wie wichtig die Projektkonzeptphase ist, in der ich mich gerade für mein eigenes Projekt befinde..schonmal erwähnt letztens glob ick). <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>thx u schönen Sonntag!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218838</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Sun, 03 Jun 2012 12:34:04 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Mon, 04 Jun 2012 06:41:48 GMT]]></title><description><![CDATA[<p>Katachi schrieb:</p>
<blockquote>
<p>leider war das nicht meine entscheidung...ich bin nur das ausführende Organ in diesem Fall (nicht brainlos, aber ich habe keinen Einfluß mehr auf die Konzeption...hat mir aber mal wieder gezeigt wie wichtig die Projektkonzeptphase ist</p>
</blockquote>
<p>Ausreden <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="😉"
    /> Es gibt da etwas, das sich Refactoring und Redesign nennt. Was irgendwann mal konzipiert wurde ist nicht in Stein gemeißelt und darf geändert werden, wenn man erkennt (und begründet), dass das Konzept verbesserungsfähig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219045</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 04 Jun 2012 06:41:48 GMT</pubDate></item><item><title><![CDATA[Reply to map::mapped_type für alloziierung on Mon, 04 Jun 2012 08:29:37 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Ausreden <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="😉"
    /> Es gibt da etwas, das sich Refactoring und Redesign nennt. Was irgendwann mal konzipiert wurde ist nicht in Stein gemeißelt und darf geändert werden, wenn man erkennt (und begründet), dass das Konzept verbesserungsfähig ist.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ..hey, MIR wäre es doch boogie. Ich hab nen ordentlichen Stundensatz, ich würde von mir aus auch den ganzen Planeten umschreiben, refactorn, redesignen, reevaluieren und realloziieren... <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="😉"
    /> Ändert aber nichts daran dass das Design von der Projektleitung abgesegnet ist und ich lediglich Implementierungshilfe bin und somit den Anweisungen des Leadproggers Folge zu leisten hab (&quot;Ey, find mal ne Lösung dafür..&quot;, den Spruch hör ich den ganzen Tag!).</p>
<p>Ich denke aber eher dass der Projektleiter Angst hat die Deadline nicht zu treffen. Neu entstandene Firma, Geburtsprojekt...da ist man vorsichtig. Dass der nachträgliche Aufwand fürs Redesign größer ist, als es jetzt gleich &quot;richtig&quot; zu machen..weiß ja nicht was du für Erfahrung mit start-up firmen hast aber da weißt du dann wie hart Granit sein kann..hihi. Also ja, letzlich isses ne Ausrede <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/2219070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219070</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Mon, 04 Jun 2012 08:29:37 GMT</pubDate></item></channel></rss>