<?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 Vectoren]]></title><description><![CDATA[<p>Irgendwie werd' ich daraus nicht so richtig schlau, wie man std::vectoren so verwenden kann wie man es von mehrdimensionalen Arrays kennt.</p>
<p>Wenn die Anzahl der Felder bekannt ist, sieht ein statisches 2D-Array doch bekanntermaßen so etwa aus, in dem Fall sollen nur strings verarbeitet werden.</p>
<pre><code class="language-cpp">string s[2][4]
</code></pre>
<p>Ich habe also 2 in der ersten und zu jedem dann 4 Werte, die man abrufen kann.<br />
So ist das noch recht übersichtlich, aber ich kenne die Anzahl ja nicht und würde das dann mit std::vector machen wollen.<br />
Wie macht man das dann nun?</p>
<p>Fündig bin ich bisher nur damit geworden, dass man Verschachtelungen baut:</p>
<pre><code class="language-cpp">vector&lt; vector&lt;string&gt; &gt; v2D;
</code></pre>
<p>So wird doch aber nur der innere Vector als string gesetzt und der Äußere ist doch nicht wirklich ein string sondern nur ein vector davon, oder wie läuft das?<br />
Wie kann ich jetzt da meine Werte rein pushen und auch wieder auslesen?</p>
<pre><code class="language-cpp">v2D[0].push_back(&quot;irgendwas&quot;);
</code></pre>
<p>Ist das so richtig?<br />
Die Themen, die ich hier dazu gefunden habe, haben nicht wirklich weiter geholfen. Es wäre schön, wenn jemand das daufreundlich an einem Beispiel erklären könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262761/mehrdimensionale-vectoren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 11:05:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262761.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Mar 2010 23:12:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrdimensionale Vectoren on Wed, 10 Mar 2010 23:12:23 GMT]]></title><description><![CDATA[<p>Irgendwie werd' ich daraus nicht so richtig schlau, wie man std::vectoren so verwenden kann wie man es von mehrdimensionalen Arrays kennt.</p>
<p>Wenn die Anzahl der Felder bekannt ist, sieht ein statisches 2D-Array doch bekanntermaßen so etwa aus, in dem Fall sollen nur strings verarbeitet werden.</p>
<pre><code class="language-cpp">string s[2][4]
</code></pre>
<p>Ich habe also 2 in der ersten und zu jedem dann 4 Werte, die man abrufen kann.<br />
So ist das noch recht übersichtlich, aber ich kenne die Anzahl ja nicht und würde das dann mit std::vector machen wollen.<br />
Wie macht man das dann nun?</p>
<p>Fündig bin ich bisher nur damit geworden, dass man Verschachtelungen baut:</p>
<pre><code class="language-cpp">vector&lt; vector&lt;string&gt; &gt; v2D;
</code></pre>
<p>So wird doch aber nur der innere Vector als string gesetzt und der Äußere ist doch nicht wirklich ein string sondern nur ein vector davon, oder wie läuft das?<br />
Wie kann ich jetzt da meine Werte rein pushen und auch wieder auslesen?</p>
<pre><code class="language-cpp">v2D[0].push_back(&quot;irgendwas&quot;);
</code></pre>
<p>Ist das so richtig?<br />
Die Themen, die ich hier dazu gefunden habe, haben nicht wirklich weiter geholfen. Es wäre schön, wenn jemand das daufreundlich an einem Beispiel erklären könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867251</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 10 Mar 2010 23:12:23 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Vectoren on Wed, 10 Mar 2010 23:25:36 GMT]]></title><description><![CDATA[<p>Du musst da ganz einfach einen vector&lt;string&gt; in die erste Dimension pushen.</p>
<pre><code class="language-cpp">v2D[0].push_back(vector&lt;string&gt;(string(&quot;irgendwas&quot;)));
</code></pre>
<p>Üblicherweise definierst du den vector ausserhalb und füllst ihn zuerst und erst dann fügst du ihn ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867258</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 10 Mar 2010 23:25:36 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Vectoren on Wed, 10 Mar 2010 23:41:44 GMT]]></title><description><![CDATA[<p>dixidix schrieb:</p>
<blockquote>
<p>Fündig bin ich bisher nur damit geworden, dass man Verschachtelungen baut:</p>
<pre><code class="language-cpp">vector&lt; vector&lt;string&gt; &gt; v2D;
</code></pre>
<p>So wird doch aber nur der innere Vector als string gesetzt und der Äußere ist doch nicht wirklich ein string sondern nur ein vector davon, oder wie läuft das?</p>
</blockquote>
<p>Das ist bei Deinem Array genauso. Du hast ein Array aus Arrays von String.</p>
<pre><code class="language-cpp">string s[2][4];

string (&amp;x)[4] = s[1]; // Referenz auf ein &quot;inneres Array&quot;
x[0] = &quot;hello&quot;;

// s[?]    --&gt; string[4]
// s[?][?] --&gt; string
</code></pre>
<pre><code class="language-cpp">vector&lt; vector&lt;string&gt; &gt; s (2);

vector&lt;string&gt;&amp; x = s[1]; // Referent auf einen &quot;inneren Vektor&quot;
x.push_back(&quot;hello&quot;);

// s[?]    --&gt; vector&lt;string&gt;
// s[?][?] --&gt; string
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1867267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867267</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 10 Mar 2010 23:41:44 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Vectoren on Wed, 10 Mar 2010 23:45:41 GMT]]></title><description><![CDATA[<p><code>vector&lt; vector&lt; T &gt; &gt;</code> hat ziemlich viel Overhead. Du solltest dir mal <a href="http://www.boost.org/doc/libs/release/libs/multi_array/doc/user.html#sec_introduction" rel="nofollow">boost.multi_array</a> (oder ähnliches) anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867269</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Wed, 10 Mar 2010 23:45:41 GMT</pubDate></item></channel></rss>