<?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[Per Pointer auf Arrayelemente zugreifen]]></title><description><![CDATA[<p>Hi,<br />
ich habe 2 Klassen, KlasseA und KlasseB (und noch viele andere, aber das ist für mein Problem egal). In KlasseA hab ich ein Array: array[300][3][3000]<br />
Auf JEDES Element dieses Arrays möchte ich nun in KlasseB zugreifen könne. Bisher übergeb ich das Array über eine Methode, welche alle Arrayelemente per Schleifen in ein neues Array in KlasseB kopiert. Das ist allerdings sehr umständlich, deshabl würd ich genr irgendwie per Pointer auf das Array zugreifen. Allerdings schaff ich es nur, auf das Element [0][0][0] zuzugreifen! Wie schaff ich es, dass ich Zugriff auf alle Elemente bekomme?!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/62799/per-pointer-auf-arrayelemente-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 04 Jun 2026 05:08:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/62799.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Jan 2004 09:07:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 09:07:25 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe 2 Klassen, KlasseA und KlasseB (und noch viele andere, aber das ist für mein Problem egal). In KlasseA hab ich ein Array: array[300][3][3000]<br />
Auf JEDES Element dieses Arrays möchte ich nun in KlasseB zugreifen könne. Bisher übergeb ich das Array über eine Methode, welche alle Arrayelemente per Schleifen in ein neues Array in KlasseB kopiert. Das ist allerdings sehr umständlich, deshabl würd ich genr irgendwie per Pointer auf das Array zugreifen. Allerdings schaff ich es nur, auf das Element [0][0][0] zuzugreifen! Wie schaff ich es, dass ich Zugriff auf alle Elemente bekomme?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444956</guid><dc:creator><![CDATA[*Christian 0]]></dc:creator><pubDate>Tue, 27 Jan 2004 09:07:25 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 11:39:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A {
   char m_array[300][3][3000];
public:
  char get_arr(int x, int y, int z) {
       return m_array[x][y][z];
  }
  void set_arr(int x, int y, int x, char value) {
      m_array[x][y][z] = value;
  }
}
</code></pre>
<p>nun kannst du ganz einfach über get_arr und set_arr auf das array zugreifen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/445085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445085</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:39:38 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 12:12:48 GMT]]></title><description><![CDATA[<p>aber ich hätte garn das ganze Array in KlasseB, nicht jedesmal per Methode aus jedes einzelne Element. Get das net?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445108</guid><dc:creator><![CDATA[*Christian 0]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 12:20:55 GMT]]></title><description><![CDATA[<p>~Christian schrieb:</p>
<blockquote>
<p>aber ich hätte garn das ganze Array in KlasseB, nicht jedesmal per Methode aus jedes einzelne Element. Get das net?!</p>
</blockquote>
<p>Es geht alles man muss nur wollen ....</p>
<p>Wie fest ist dein array[300][3][3000]???<br />
wenn sich das nie aendert, mach nen typedef drauf .... und ubergib deiner Klasse B irgendwann ne referenz auf den member in A als den neuen Typ.</p>
<p>oder mach A zum friend von B, und uebergeb B die referenz auf A, dann kannst auch auf alle internen privaten elemenete von A zugreifen. Wenn B so tief in A eingreift, ist es ein durchaus uebliches vorgehen ....</p>
<p>Ciao ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445121</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 12:21:49 GMT]]></title><description><![CDATA[<p>Hi</p>
<pre><code class="language-cpp">int nArray[10][100][1000];

int* pArray = nArray; // Zeiger auf das Array

//...

cout &lt;&lt; nArray[1][10][100];
cout &lt;&lt; pArray[1][10][100];
</code></pre>
<p>Aber keine Garantie <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>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445124</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:21:49 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 12:54:22 GMT]]></title><description><![CDATA[<p>~Christian schrieb:</p>
<blockquote>
<p>aber ich hätte garn das ganze Array in KlasseB, nicht jedesmal per Methode aus jedes einzelne Element. Get das net?!</p>
</blockquote>
<p>´</p>
<p>Geh mal folgende punkte druch überleg dir dann nochmal denn sinn deiner aktion:</p>
<p>1. Wozu stopfe ich was ne klasse? Damit ich dann nen pointer zurückgeben und jeder dann damit machen kann was er will (dann hast du irgendwie das konzept der kapselung net ganz verstanden).</p>
<p>2. Warum willst du in klasse B nen Pointer und nicht die methoden der klasse verwenden?<br />
/me befürchtet so was:</p>
<pre><code class="language-cpp">class B {
  *m_arrPointer;
  ...
  void func() {
    A AOjb;
    arrPointer = AObj.GetArray();
  }
  ...
}
</code></pre>
<p>Dass das hier knallt sobald ein einzugriff auserhalb von func() kommt, dürfte klar sein, aber ich sehn sonst keinen Grund warum du die methoden aus class A nicht verwenden kannst/willst.</p>
<p>3. Solltest du irgendwann in die lage kommen das mit dem array was passiert was nicht passieren soll, viel glück beim debugen (wie schon wär das doch wenn man ne zentrale set und get mehtode für jede member-varialbe hätte ... )</p>
<p>4. Solltest du irgendwann was am array ändern müssen (größe, typ,....) kannst den ganzen code durchforsten um die stellen zu finden wo einer damit arbeitet.. wenn du es über ne set/get methode ansprichtst findest du alles in class A..</p>
<p>...</p>
<p>Lässt dich das alles nicht umstimmen und bestehst drauf, das B nen pointer auf nen member von A haben muss:</p>
<pre><code class="language-cpp">typedef char MY_ARRAY[300][3][3000];

class A {
	MY_ARRAY m_arr;
public:
	void GetArray(MY_ARRAY **arr) {
		*arr = &amp;m_arr;
	}
};

class B {
	MY_ARRAY *m_pArr;
	A m_AObj;
public:
	void func() {
		m_AObj.GetArray(&amp;m_pArr);
		char c = *m_pArr[0][0][1];  // zugriff
	}

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/445158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445158</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to Per Pointer auf Arrayelemente zugreifen on Tue, 27 Jan 2004 14:07:12 GMT]]></title><description><![CDATA[<p>hm, okay, die Argumente waren doch sehr einleuchtend... Ich werd wohl doch nochmal alles umschreiben und es per Set/Get Methoden realisieren! Big THX für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445243</guid><dc:creator><![CDATA[*Christian 0]]></dc:creator><pubDate>Tue, 27 Jan 2004 14:07:12 GMT</pubDate></item></channel></rss>