<?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[mehrdimensionale arrays mit unterschiedlichen Datentypen]]></title><description><![CDATA[<p>Hallo,<br />
ich suche eine Möglichkeit einen zweidimensionalen Vektor mit 2 unterschiedlichen Datentypen(zB int und char) zu erstellen.</p>
<p>wenn man zwei mal denselben Datentyp verwendet ist das ja einfach:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;char&gt;&gt; a;
</code></pre>
<p>aber wie geht das mit 2 unterschiedlichen Datentypen?<br />
(zB vector&lt;vector&lt;char, int&gt;&gt; a; , allerding ist die syntax falsch^^)</p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261769/mehrdimensionale-arrays-mit-unterschiedlichen-datentypen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 02:46:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261769.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Feb 2010 16:17:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:17:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich suche eine Möglichkeit einen zweidimensionalen Vektor mit 2 unterschiedlichen Datentypen(zB int und char) zu erstellen.</p>
<p>wenn man zwei mal denselben Datentyp verwendet ist das ja einfach:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;char&gt;&gt; a;
</code></pre>
<p>aber wie geht das mit 2 unterschiedlichen Datentypen?<br />
(zB vector&lt;vector&lt;char, int&gt;&gt; a; , allerding ist die syntax falsch^^)</p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860155</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:20:51 GMT]]></title><description><![CDATA[<p>andi01 schrieb:</p>
<blockquote>
<p>wenn man zwei mal denselben Datentyp verwendet ist das ja einfach:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;char&gt;&gt; a;
</code></pre>
</blockquote>
<p>Nein!?</p>
<p>Was du suchst ist <em>std::vector&lt;std::pair&lt;int, char&gt;&gt; vec</em> oder noch besser <em>std::map&lt;int, char&gt; map</em> <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/1860158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860158</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:26:17 GMT]]></title><description><![CDATA[<p>gut, das funktioniert schonmal, thx (stand dann wohl in dem beitrag den ich gelesen habe falsch^^).</p>
<p>aber wie fügt man jetzt ein neues Wertepaar mit .push_back() ein? die Funktion akzeptiert ja nur ein argument...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860163</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:27:08 GMT]]></title><description><![CDATA[<p>Mach das doch einfach eine Struktur für Elemente mit unterschiedlichen Datentypen. Mit dieser Struktur bildest du dann deine arrays. So ist das allgemein üblich und bewährt. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860164</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:29:22 GMT]]></title><description><![CDATA[<p>andi01 schrieb:</p>
<blockquote>
<p>aber wie fügt man jetzt ein neues Wertepaar mit .push_back() ein? die Funktion akzeptiert ja nur ein argument...</p>
</blockquote>
<p>Du erzeugst per ctor einfach eine neue Instanz. <em>std::make_pair</em> wäre auch ein Alternative.</p>
<pre><code class="language-cpp">std::vector&lt;std::pair&lt;int, char&gt;&gt; vec;
vec.push_back(std::pair&lt;int, char&gt;::pair(10, 0));
</code></pre>
<p>(ungetestet!)</p>
<p>berniebutt schrieb:</p>
<blockquote>
<p>Mach das doch einfach eine Struktur für Elemente mit unterschiedlichen Datentypen. Mit dieser Struktur bildest du dann deine arrays. So ist das allgemein üblich und bewährt.</p>
</blockquote>
<p>Nö, ist nicht üblich. Für sowas wurde <em>std::map</em> in den Standard aufgenommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860165</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:29:22 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:28:38 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/std/utility/pair/" rel="nofollow">http://www.cplusplus.com/reference/std/utility/pair/</a><br />
<a href="http://www.cplusplus.com/reference/std/utility/make_pair/" rel="nofollow">http://www.cplusplus.com/reference/std/utility/make_pair/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860166</guid><dc:creator><![CDATA[GAMES1990]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:33:17 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<pre><code class="language-cpp">vec.push_back(std::pair&lt;int, char&gt;::pair(10, 0));
</code></pre>
</blockquote>
<p>Das sollte wahrscheinlich <code>std::pair&lt;int, char&gt;(10, 0)</code> heissen. Auch wenn ich eher <code>std::make_pair(10, '\0')</code> verwenden würde. <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>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Nö, ist nicht üblich. Für sowas wurde <em>std::map</em> in den Standard aufgenommen.</p>
</blockquote>
<p><code>std::map</code> wird für Assoziationen zwischen Schlüssel und Wert benötigt. Um einfach zwei Typen zusammenzufassen, ist <code>std::pair</code> oder eine eigene Klasse sinnvoller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860169</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:36:51 GMT]]></title><description><![CDATA[<p>ok thx habe es jetzt so gelöst:</p>
<pre><code class="language-cpp">std::vector&lt;std::pair&lt;int, char&gt;&gt; vec; 
vec.push_back(std::pair&lt;int, char&gt;(10, 'a'));
cout&lt;&lt;vec[0].first&lt;&lt;&quot; &quot;&lt;&lt;vec[0].second;
</code></pre>
<p>der grund warum ich gerne standardtypen verwenden würde ist dass ich eine funktion mit 2d-vektoren in eine dll packen will, wenn ich jetzt also mit struct eine neue struktur in der dll mache kennt sie das ausführende programm ja nicht...</p>
<p>danke an alle,<br />
der code oben funktioniert <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/1860173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860173</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:36:51 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:51:16 GMT]]></title><description><![CDATA[<p>Mit deinem Wissenstand würd ich lieber erst einmal eine solide Grundlage in der Sprache schaffen, bevor ich mit dlls anfangen würde. Mir erscheint es so alls würdest du noch nicht lange Programmieren und hast recht wenige Erfahrungen und hast dlls noch nicht richtig verstanden.</p>
<p>andi01 schrieb:</p>
<blockquote>
<p>wenn ich jetzt also mit struct eine neue struktur in der dll mache kennt sie das ausführende programm ja nicht...</p>
</blockquote>
<p>Dein Programm wird weiter die Headerdatein brauchen, damit wird es den Datentyp kennen lernen <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="😉"
    /> nur das &quot;Linken&quot; wird auf die Laufzeitebene ausgelagert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860183</guid><dc:creator><![CDATA[GAMES1990]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:51:16 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:49:41 GMT]]></title><description><![CDATA[<p>andi01 schrieb:</p>
<blockquote>
<p>der grund warum ich gerne standardtypen verwenden würde ist dass ich eine funktion mit 2d-vektoren in eine dll packen will, wenn ich jetzt also mit struct eine neue struktur in der dll mache kennt sie das ausführende programm ja nicht...</p>
</blockquote>
<p>Auch damit wäre ich vorsichtig an deiner Stelle. Wenn du z.B. verschiedene Runtime versionen verwendest dann kann es sein das die typen nicht kompatibel sind. (kann der Fall sein wenn man z.B. die DLL mit VC2005 kompiliert und die Anwendung irgendwann später mit VC2008 (sogar verschiedene service packs der runtimes können im schlimmsten fall ein problem bedeuten))</p>
<p>Also verlass dich da nicht all zu sehr drauf so lange du nicht garantieren kannst das die Versionen passen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860186</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:49:41 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:52:29 GMT]]></title><description><![CDATA[<p>evilissimo schrieb:</p>
<blockquote>
<p>Also verlass dich da nicht all zu sehr drauf so lange du nicht garantieren kannst das die Versionen passen.</p>
</blockquote>
<p>einzige sichere Methode müsste extern &quot;C&quot; sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860189</guid><dc:creator><![CDATA[GAMES1990]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays mit unterschiedlichen Datentypen on Tue, 23 Feb 2010 16:52:43 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<pre><code class="language-cpp">vec.push_back(std::pair&lt;int, char&gt;::pair(10, 0));
</code></pre>
</blockquote>
<p>Das sollte wahrscheinlich <code>std::pair&lt;int, char&gt;(10, 0)</code> heissen.</p>
</blockquote>
<p>Eigentlich nicht, ich schreibe gerne den ctor dahinter um einen besseren Überblick zu haben <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/1860190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860190</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 23 Feb 2010 16:52:43 GMT</pubDate></item></channel></rss>