<?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[ein großes 2 dimensionales array erzeugen ?]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte im MFC ein ganz normales 2-Dimensionales Array erzeugen, und alle mit intwerten = 0 vorbelegen...</p>
<p>ich kriegs nicht auf die Reihe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>und in meinem tollen vc++ buch steht halt gleichmal garnix drinnen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Was soll ich tun ?</p>
<p>achja ich hab schon</p>
<pre><code class="language-cpp">#include &lt;afxtempl.h&gt;

typedef CArray&lt;int, int&gt; CIntArray;
</code></pre>
<p>doch bei der erzeugung von 2 dimensionen da haperts ...</p>
<p>Mittlerweile habe ich</p>
<pre><code class="language-cpp">int MyArray[720][576];
	for(int i=0; i &lt; 5; i++)
        for(int k=0; k &lt; 8; k++)
           MyArray[i][k]=0;
</code></pre>
<p>Aber die dimensionen sind zu groß und die anwendung crasht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>wie kann ich so ein großes 2 dimensionales array erzeugen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191258/ein-großes-2-dimensionales-array-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 09:24:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191258.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Aug 2007 19:09:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 20:13:09 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte im MFC ein ganz normales 2-Dimensionales Array erzeugen, und alle mit intwerten = 0 vorbelegen...</p>
<p>ich kriegs nicht auf die Reihe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>und in meinem tollen vc++ buch steht halt gleichmal garnix drinnen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Was soll ich tun ?</p>
<p>achja ich hab schon</p>
<pre><code class="language-cpp">#include &lt;afxtempl.h&gt;

typedef CArray&lt;int, int&gt; CIntArray;
</code></pre>
<p>doch bei der erzeugung von 2 dimensionen da haperts ...</p>
<p>Mittlerweile habe ich</p>
<pre><code class="language-cpp">int MyArray[720][576];
	for(int i=0; i &lt; 5; i++)
        for(int k=0; k &lt; 8; k++)
           MyArray[i][k]=0;
</code></pre>
<p>Aber die dimensionen sind zu groß und die anwendung crasht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>wie kann ich so ein großes 2 dimensionales array erzeugen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356396</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Fri, 31 Aug 2007 20:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 20:14:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef CArray&lt;int, int&gt; CIntArray;
typedef CArray&lt;CIntArray, CIntArray&amp;&gt; CIntArray2D;
...
CIntArray2D ar;
int size = 10;
// Größe des Arrays
ar.SetSize(size);

// Größe der einzelnen Arrays, hier 10x10
for(int i = 0; i &lt; size; ++i)
{
	ar[i].SetSize(size);
}

// mit 0 füllen
for(int i = 0; i &lt; size; ++i)
{
	for(int j = 0; j &lt; size; ++j)
	{
		ar[i][j] = 0;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1356444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356444</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 31 Aug 2007 20:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 20:35:11 GMT]]></title><description><![CDATA[<p>Wenn Du so große Arrays haben willst, dann musst Du sie auf dem Heap erzeugen:</p>
<pre><code class="language-cpp">int** MyArray = new int*[700];
for(int i = 0; i &lt; 700; ++i)
{
	MyArray[i] = new int[520];
	// mit 0 füllen
	memset(MyArray[i], 0, sizeof(int) * 520);
}

// Speicher wieder freigeben
for(int i = 0; i &lt; 700; ++i)
	delete[] MyArray[i];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1356462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356462</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 31 Aug 2007 20:35:11 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 21:49:54 GMT]]></title><description><![CDATA[<p>Eine Millarde Dank <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>Das mit dem Heap war das problem.. ein kleineres ging ....<br />
super vielen Dank !!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356527</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Fri, 31 Aug 2007 21:49:54 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 23:11:54 GMT]]></title><description><![CDATA[<p>Tut euch selbst einen Gefallen und fangt an std::vector statt den MFC Containern zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356550</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 31 Aug 2007 23:11:54 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Fri, 31 Aug 2007 23:59:25 GMT]]></title><description><![CDATA[<p>und das geht wie ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356565</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Fri, 31 Aug 2007 23:59:25 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Sat, 01 Sep 2007 09:53:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Foo()
{
    size_t dimX = 567;
    size_t dimY = 789;
    std::vector&lt;int&gt; v(dimX*dimY);
    size_t x = 10;
    size_t y = 333;
    v[x + y*dimX] = 123;
    // ...
}
</code></pre>
<p>2D Arrays als &quot;Vektoren von Vektoren&quot; bzw. als &quot;Arrays von Zeigern auf Arrays&quot; zu implementieren ist meist keine gute Wahl. Einfach ein 1D Array verwenden und dann selbst den Index ausrechnen ist IMO besser.</p>
<p>Natürlich kann man sich dafür selbst eine Klasse schreiben die das kapselt, bzw. sich eine fertige solche suchen, dann muss man nicht überall soviel tippen.</p>
<p>Du kannst aber auch gleich so machen wenn die Grösse zur Compile-Zeit feststeht:</p>
<pre><code class="language-cpp">template &lt;class T&gt; struct wrapper
{
	T v;
};

int main() 
{
	std::auto_ptr&lt;wrapper&lt;int [456][567]&gt; &gt; p(new wrapper&lt;int [456][567]&gt;());
	int (&amp;MyArray)[456][567] = p-&gt;v;

	MyArray[10][20] = 123;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1356666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356666</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 01 Sep 2007 09:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to ein großes 2 dimensionales array erzeugen ? on Mon, 03 Sep 2007 15:43:36 GMT]]></title><description><![CDATA[<p>Vielen Dank das Du Dir die Mühe gemacht hast, das Posting ist bei meinen Favoriten <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>Aber was genau ist denn nun der Unterschied zwischen den beiden Dingern ?</p>
<p>Ich muss halt sowieso schon eine Schleife durchlaufen, da ich von einem Bitmap die Pixel abfrage.<br />
Und wenn ich gerade an der Stelle bin, dann schreib ich in mein Array rein, was ich wie im 3. Posting erstellt habe.</p>
<p>Das klappt wunderbar, ist halt ein bischen langsam, aber wahrscheinlich auch nur darum, weil ich ständig die Bitmaps rendern muss...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358078</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Mon, 03 Sep 2007 15:43:36 GMT</pubDate></item></channel></rss>