<?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[mehrdimensionales array]]></title><description><![CDATA[<p>heda,</p>
<pre><code class="language-cpp">class Calculation { 
private: int Unit[23][7] // z.Z. noch 2-dimensional 
public: void init(); }
</code></pre>
<p>also, ich hab eine klasse mit dem mehrdimenionalem array Unit. die werte 23 und 7 sind konstant, aber ich brauche noch einen 3. wert: Unit[23][7][anzahl()] quasi der returnwert von int anzahl()...<br />
sollte das nicht gehen, wär ich für andere vorschläge natürlich dankbar.<br />
Geht bloß darum dass der benutzer den 3. wert selbst bestimmt oder vllt. anzahl = 0xffffffff ist und er immernur bis \0 guckt, ist aber nicht sehr edel !?<br />
wie sieht das also in der praxis aus?<br />
benutze code::blocks ...<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192807/mehrdimensionales-array</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 14:57:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192807.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Sep 2007 22:01:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrdimensionales array on Tue, 18 Sep 2007 22:01:09 GMT]]></title><description><![CDATA[<p>heda,</p>
<pre><code class="language-cpp">class Calculation { 
private: int Unit[23][7] // z.Z. noch 2-dimensional 
public: void init(); }
</code></pre>
<p>also, ich hab eine klasse mit dem mehrdimenionalem array Unit. die werte 23 und 7 sind konstant, aber ich brauche noch einen 3. wert: Unit[23][7][anzahl()] quasi der returnwert von int anzahl()...<br />
sollte das nicht gehen, wär ich für andere vorschläge natürlich dankbar.<br />
Geht bloß darum dass der benutzer den 3. wert selbst bestimmt oder vllt. anzahl = 0xffffffff ist und er immernur bis \0 guckt, ist aber nicht sehr edel !?<br />
wie sieht das also in der praxis aus?<br />
benutze code::blocks ...<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1368101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368101</guid><dc:creator><![CDATA[array]]></dc:creator><pubDate>Tue, 18 Sep 2007 22:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionales array on Tue, 18 Sep 2007 22:23:55 GMT]]></title><description><![CDATA[<p>Ungetestet, aber so in etwa sollte das aussehen:</p>
<pre><code class="language-cpp">int dim1 = 2;
int dim2 = 5;
int dim3 = anzahl();

int*** a = new int**[dim1];
for(int i=0; i &lt; dim1; i++) {
	a[i] = new int*[dim2];
	for(int j=0; j &lt; dim2; j++)
		a[i][j] = new int[dim3];
}

for(int i=0; i &lt; dim1; i++) {
	for(int j=0; j &lt; dim2; j++) 
		delete[] a[i][j];
	delete[] a[i];
}
delete[] a;
</code></pre>
<p>Alternativ könntest du natürlich auch ne Struktur wie std::vector&lt; std::vector&lt; std::vector&lt;int&gt; &gt; &gt; foo; nehmen und entsprechend resizen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1368105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368105</guid><dc:creator><![CDATA[this-*gt*that]]></dc:creator><pubDate>Tue, 18 Sep 2007 22:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionales array on Tue, 18 Sep 2007 22:52:44 GMT]]></title><description><![CDATA[<p>Warum ein Dreifachzeiger mit so einer komplizierten initialisierung?<br />
Soweit ich weiß gibts sowas wie</p>
<pre><code class="language-cpp">int (*a)[23][7] = new int[23][7][mySize];
//hier kann man ganz normal mit array-syntax arbeiten

//nicht vergessen:
delete[] a;
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11409">@array</a>: da die Länge des äussersten Arrays nicht feststeht, kann man es nur dynamisch alloziieren. Die normale Definition eines Arrays braucht eine compiletime-konstante, um zu wissen wieviel Speicher es für das Objekt reservieren muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1368113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368113</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 18 Sep 2007 22:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionales array on Tue, 18 Sep 2007 23:04:39 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Warum ein Dreifachzeiger mit so einer komplizierten initialisierung?<br />
Soweit ich weiß gibts sowas wie</p>
<pre><code class="language-cpp">int (*a)[23][7] = new int[23][7][mySize];
//hier kann man ganz normal mit array-syntax arbeiten

//nicht vergessen:
delete[] a;
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11409">@array</a>: da die Länge des äussersten Arrays nicht feststeht, kann man es nur dynamisch alloziieren. Die normale Definition eines Arrays braucht eine compiletime-konstante, um zu wissen wieviel Speicher es für das Objekt reservieren muss.</p>
</blockquote>
<pre><code>Fehler	3	error C2440: 'Initialisierung': 'int (*)[7][1]' kann nicht in 'int (*)[23][7]' konvertiert werden	e:\c++\main.cpp	278
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1368115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368115</guid><dc:creator><![CDATA[this-*gt*that]]></dc:creator><pubDate>Tue, 18 Sep 2007 23:04:39 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionales array on Wed, 19 Sep 2007 09:38:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int (*a)[23][7] = new int[mySize][23][7];
//hier kann man ganz normal mit array-syntax arbeiten:
for (int i = 0; i &lt; mySize; ++i) {
  a[i][22][6] = i;
}  

//nicht vergessen:
delete[] a;
</code></pre>
<p>Hatte das falschrum gemacht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1368296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368296</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 19 Sep 2007 09:38:52 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionales array on Wed, 19 Sep 2007 12:06:45 GMT]]></title><description><![CDATA[<p>Das ist aber nach wie vor nicht exakt das, was der Fred-Starter haben wollte;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1368417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1368417</guid><dc:creator><![CDATA[this-*gt*that]]></dc:creator><pubDate>Wed, 19 Sep 2007 12:06:45 GMT</pubDate></item></channel></rss>