<?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[array beliebiger dimension dynamisch anlegen...]]></title><description><![CDATA[<p>hi,</p>
<p>ich möchte ein array beliebiger dimension dynamisch anlegen. sprich, wenn vom nutzer dimension 4 und größe 5 angegeben wird hätte ich gerneein 4-dimensionales array mit der ausprägung 5 in jeder dimension. leider weis ich nicht wie ich<br />
die zeiger auf mein array dynamisch allokiere.<br />
wie lege ich also eine datenstrukur wie diese:</p>
<pre><code>int *field = (int *)malloc(size*sizeof(int));
</code></pre>
<p>für beliebige dimensionen(also quasi &quot; **...**field &quot;) an?</p>
<p>danke schonmal für eure hilfe</p>
<p>snuuts</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164099/array-beliebiger-dimension-dynamisch-anlegen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 16:04:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164099.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Nov 2006 09:39:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Sun, 05 Nov 2006 09:39:16 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich möchte ein array beliebiger dimension dynamisch anlegen. sprich, wenn vom nutzer dimension 4 und größe 5 angegeben wird hätte ich gerneein 4-dimensionales array mit der ausprägung 5 in jeder dimension. leider weis ich nicht wie ich<br />
die zeiger auf mein array dynamisch allokiere.<br />
wie lege ich also eine datenstrukur wie diese:</p>
<pre><code>int *field = (int *)malloc(size*sizeof(int));
</code></pre>
<p>für beliebige dimensionen(also quasi &quot; **...**field &quot;) an?</p>
<p>danke schonmal für eure hilfe</p>
<p>snuuts</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168679</guid><dc:creator><![CDATA[snuuts]]></dc:creator><pubDate>Sun, 05 Nov 2006 09:39:16 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Sun, 05 Nov 2006 10:39:41 GMT]]></title><description><![CDATA[<p>Dafür gibt es in C++ keine einfache Lösung. Dir wird wohl nichts anderes übrig bleiben dein Array in einem flachen std::vector abzulegen und dann manuell die Position innerhalb der verschiedenen Dimensionen in einen Index umzurechnen.</p>
<p>Eventuell kann man Proxy-Klassen verwenden, um soetwas array[x1][x2][x3] usw. trotzdem zuzulassen. Aber das wird dann richtig kompliziert, (ohne dir persönlich nahetreten zu wollen) wohlmöglich zu kompliziert für jemanden, der glaubt, daß es eine gute Idee ist in C++ malloc zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168707</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sun, 05 Nov 2006 10:39:41 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Sun, 05 Nov 2006 10:43:46 GMT]]></title><description><![CDATA[<p>mit std::vector sollte es doch gehen, dass man die einfach beliebig ineinander schachtelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168710</guid><dc:creator><![CDATA[stl]]></dc:creator><pubDate>Sun, 05 Nov 2006 10:43:46 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Sun, 05 Nov 2006 10:53:53 GMT]]></title><description><![CDATA[<p>Z2 schrieb:</p>
<blockquote>
<p>Dafür gibt es in C++ keine einfache Lösung. Dir wird wohl nichts anderes übrig bleiben dein Array in einem flachen std::vector abzulegen und dann manuell die Position innerhalb der verschiedenen Dimensionen in einen Index umzurechnen.</p>
<p>Eventuell kann man Proxy-Klassen verwenden, um soetwas array[x1][x2][x3] usw. trotzdem zuzulassen. Aber das wird dann richtig kompliziert, (ohne dir persönlich nahetreten zu wollen) wohlmöglich zu kompliziert für jemanden, der glaubt, daß es eine gute Idee ist in C++ malloc zu verwenden.</p>
</blockquote>
<p>jo, habs schon befürchtet, dass ich das flach darstellen muss, trotzdem danke!<br />
bzgl malloc: &quot;komme halt von C &quot; und fang grad erst mit c++ an :-).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168722</guid><dc:creator><![CDATA[snuuts]]></dc:creator><pubDate>Sun, 05 Nov 2006 10:53:53 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Sun, 05 Nov 2006 10:57:26 GMT]]></title><description><![CDATA[<p>stl schrieb:</p>
<blockquote>
<p>mit std::vector sollte es doch gehen, dass man die einfach beliebig ineinander schachtelt.</p>
</blockquote>
<p>Nicht, wenn die Tiefe der Verschachtelung erst zur Laufzeit feststeht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168728</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sun, 05 Nov 2006 10:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 12:05:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie wärs denn mit <a href="http://www.boost.org/libs/multi_array/doc/index.html" rel="nofollow">boost::multi_array</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169529</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 06 Nov 2006 12:05:24 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:09:00 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Wie wärs denn mit <a href="http://www.boost.org/libs/multi_array/doc/index.html" rel="nofollow">boost::multi_array</a></p>
</blockquote>
<p>Das duerfte auch nix bringen weil der Templateparameter schon zur Compile-Zeit feststehen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169598</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:09:00 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:23:33 GMT]]></title><description><![CDATA[<p>Hem, weiß jetz nicht genau wo das Problem sein soll. Man muß schon etwas basteln, aber das ist schnell gemacht.</p>
<pre><code class="language-cpp">int zeilen = 5;
std::vector&lt;std::vector&lt;int&gt;&gt; felder(zeilen);

int spalten = 10;
for(int i=0; i &lt; felder.size(); i++)
    felder.at(i).resize(spalten);

// Zugriff auf Zeile 2 und Spalte 8:
felder.at(1).at(7);
</code></pre>
<p>Oder meinstest du was anderes? Wenn man das noch schön in einer andere Klasse verpackt, kan man das komfortabler machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169608</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:22:20 GMT]]></title><description><![CDATA[<p>Z2 schrieb:</p>
<blockquote>
<p>stl schrieb:</p>
<blockquote>
<p>mit std::vector sollte es doch gehen, dass man die einfach beliebig ineinander schachtelt.</p>
</blockquote>
<p>Nicht, wenn die Tiefe der Verschachtelung erst zur Laufzeit feststeht.</p>
</blockquote>
<p>Also der Sinn eines Vectors ist es, das man erst zur Lauftzeit die Größen setzt. Sonst wäre der Vector witzlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169611</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:24:31 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Hem, weiß jetz nicht genau wo das Problem sein soll. Man muß schon etwas basteln, aber das ist schnell gemacht.</p>
</blockquote>
<p>Und was machst du, wenn du <em>zur Laufzeit</em> feststellst, dass du drei Dimensionen brauchst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169616</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:26:15 GMT]]></title><description><![CDATA[<p>OK, die Dimensionsanzahl ist schon schwieriger. Stimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169619</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:26:30 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Z2 schrieb:</p>
<blockquote>
<p>stl schrieb:</p>
<blockquote>
<p>mit std::vector sollte es doch gehen, dass man die einfach beliebig ineinander schachtelt.</p>
</blockquote>
<p>Nicht, wenn die Tiefe der Verschachtelung erst zur Laufzeit feststeht.</p>
</blockquote>
<p>Also der Sinn eines Vectors ist es, das man erst zur Lauftzeit die Größen setzt. Sonst wäre der Vector witzlos.</p>
</blockquote>
<p>Die Größe ja, aber (leider) nicht die Schachtelungstiefe - ein vector ist nunmal eine eindimensionale Datensammlung (und auch wenn du vector&lt;vector&lt;...&gt; &gt; schreibst, mußt du zur Compilezeit wissen, wieviele Dimensionen du verwalten willst - wie groß die jeweils werden, kannst du später definieren).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169620</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:26:30 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:27:49 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Z2 schrieb:</p>
<blockquote>
<p>stl schrieb:</p>
<blockquote>
<p>mit std::vector sollte es doch gehen, dass man die einfach beliebig ineinander schachtelt.</p>
</blockquote>
<p>Nicht, wenn die Tiefe der Verschachtelung erst zur Laufzeit feststeht.</p>
</blockquote>
<p>Also der Sinn eines Vectors ist es, das man erst zur Lauftzeit die Größen setzt. Sonst wäre der Vector witzlos.</p>
</blockquote>
<p>Wir reden hier nicht von der Größe, sondern von der Tiefe der Verschachtelung:</p>
<p>std::vector&lt;irgendwas&gt;</p>
<p>oder</p>
<p>std::vector&lt;std::vector&lt;irgendwas&gt; &gt;</p>
<p>usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169622</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:27:49 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:29:16 GMT]]></title><description><![CDATA[<p>Ja, sorry, weiß ich jetzt mittlerweile! <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169624</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:29:16 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:31:59 GMT]]></title><description><![CDATA[<p>Die einzige Frage die sich mir jetzt stellt: wie will man zur Laufzeit dann beliebige Dimensionsanzahlfälle behandeln? Ich muß ja irgendwo eine Syntax haben, die auf die Dimensionen zugreift. Genauso müsste ich das Problem auch mit dem Definieren der Dimensionen angehen.</p>
<p>Lösen lässt sich das Problem ja...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169629</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 13:46:20 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Ich muß ja irgendwo eine Syntax haben, die auf die Dimensionen zugreift. Genauso müsste ich das Problem auch mit dem Definieren der Dimensionen angehen.</p>
</blockquote>
<p>Das Problem liese sich vermutlich lösen, indem man die Indizes (und Dimensionsgrößen) auch als Vector übergibt.</p>
<p>PS: Eventuell wären auch val_array und (g)slice's ein Ansatz, um so ein mehrdimensionales Array zu bauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169649</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 06 Nov 2006 13:46:20 GMT</pubDate></item><item><title><![CDATA[Reply to array beliebiger dimension dynamisch anlegen... on Mon, 06 Nov 2006 16:20:14 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Das Problem liese sich vermutlich lösen, indem man die Indizes (und Dimensionsgrößen) auch als Vector übergibt.</p>
</blockquote>
<p>jepp, genau das mach ich auch gerade <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/1169817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169817</guid><dc:creator><![CDATA[snuuts]]></dc:creator><pubDate>Mon, 06 Nov 2006 16:20:14 GMT</pubDate></item></channel></rss>