<?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[Mysteriöses Array Adressierungsproblem]]></title><description><![CDATA[<p>Hallo geehrte Leidensgenossen,</p>
<p>ich habe ein Problem was mir so auch noch nicht begegnet ist. Es handelt sich um eine überschneidende Array-Adresssierung.</p>
<p>Das Ganze äussert sich dahingehend, dass ich den Wert einer Arrayadresse - sagen wir a[7][8] ändere. Dies jedoch zur Folge hat dass der Wert einer völlig andere Adresse z.B. a[10][287], die in der Zwischenzeit gar nicht angesprochen wurde, sich einfach mitändert - und zwar auf den exakt gleichen Wert der anderen Adresse.</p>
<p>Umgekehrt ist das übrigens auch der Fall...</p>
<p>Gibt es dafür eine logische Erklärung??</p>
<p>Danke für euere Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218738/mysteriöses-array-adressierungsproblem</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 18:24:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218738.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Jul 2008 14:37:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:37:56 GMT]]></title><description><![CDATA[<p>Hallo geehrte Leidensgenossen,</p>
<p>ich habe ein Problem was mir so auch noch nicht begegnet ist. Es handelt sich um eine überschneidende Array-Adresssierung.</p>
<p>Das Ganze äussert sich dahingehend, dass ich den Wert einer Arrayadresse - sagen wir a[7][8] ändere. Dies jedoch zur Folge hat dass der Wert einer völlig andere Adresse z.B. a[10][287], die in der Zwischenzeit gar nicht angesprochen wurde, sich einfach mitändert - und zwar auf den exakt gleichen Wert der anderen Adresse.</p>
<p>Umgekehrt ist das übrigens auch der Fall...</p>
<p>Gibt es dafür eine logische Erklärung??</p>
<p>Danke für euere Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553074</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:45:38 GMT]]></title><description><![CDATA[<p>Zeich mal Code...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553078</guid><dc:creator><![CDATA[langeweile]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:45:53 GMT]]></title><description><![CDATA[<p>Ja, hab ich. Beide Indexe zeigen auf den selben Wert im Speicher.<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553079</guid><dc:creator><![CDATA[Scitp0r]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:49:39 GMT]]></title><description><![CDATA[<p>langeweile schrieb:</p>
<blockquote>
<p>Zeich mal Code...</p>
</blockquote>
<p>Und wenn möglich etwas gekürzt, aber so dass der Fehler immer noch auftritt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Tut mir leid, aber wir müssen hier am Eingang immer die Kristallkugeln abgeben. Anscheinend gibt es da ein Sicherheitsrisiko mit denen <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üssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553084</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:58:14 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553086</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 14:55:08 GMT]]></title><description><![CDATA[<p>wie kann ich denn die Speicherlokation eines Arrayplatzes abfragen?</p>
<p>Denke damit kann ich den Fehler schon finden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553091</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 14:55:08 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:00:06 GMT]]></title><description><![CDATA[<p>dfer gesamte code hat über 1000 Zeilen...</p>
<p>...der auzug lautet:</p>
<pre><code class="language-cpp">EWS_Sonde1[gestein_2m][513].temperatur = EWS_Sonde1[gestein_2m][513].temperatur+1;
EWS_Sonde1[umgebungsgestein][0].temperatur =0;

cout &lt;&lt; &quot;Umgeb T: &quot; &lt;&lt; EWS_Sonde1[umgebungsgestein][0].temperatur &lt;&lt; endl;
cout &lt;&lt; &quot;Mirror: &quot; &lt;&lt; EWS_Sonde1[gestein_2m][513].temperatur &lt;&lt; endl;
</code></pre>
<p>wobei dann beide Ausgaben 0 Zeigen...aber diese Stück hilft euch glaube ich kaum weiter...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553093</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:00:06 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:04:58 GMT]]></title><description><![CDATA[<p>Ehm, wenn <code>EWS_Sonde1[gestein_2m][513].temperatur</code> -1 ist, dann wäre die Ausgabe logisch. <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="🙂"
    /><br />
Es gibt übrigens die Operatoren <code>+=</code> und <code>++</code> .</p>
<p>Falls es nicht das ist, dann können wir dir nur schwer ohne Code helfen. Sollen wir raten? Die Beiden Orte zeigen auf das gleiche Objekt, irgendwie halt. Oder es wird eine zusätzliche Anweisung ausgeführt, welche beide auf die gleiche Zahl setzt. Schon mal debugt?</p>
<p>Im übrigen finde ich das ein typisches Beispiel dafür, wieso man keine public Membervariablen machen sollte, sondern Setter verwenden. Dank einem Setter könntest du nun eine Log-Möglichkeit im Setter einbauen und schauen, wie oft und wann er aufgerufen wird und womöglich die Sache zurückverfolgen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553103</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:04:58 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:11:46 GMT]]></title><description><![CDATA[<p>und wann wird dann der Wert und wann die Adresse eines Arrayeintrages geändert?</p>
<p>Wenn ich z.B. einen Arrayplatz mit dem Wert eines anderen Arrayplatzes beschreiben will ist das dann so richtig?</p>
<pre><code class="language-cpp">a[1] = a[2];
</code></pre>
<p>oder eher so:</p>
<pre><code class="language-cpp">b = a[1];

a[2] =b;
</code></pre>
<p>oder besser gasagt was ist sicherer??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553104</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:06:59 GMT]]></title><description><![CDATA[<p>@ Dravere</p>
<p>sorry aber was genau sind setter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553108</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:06:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:18:58 GMT]]></title><description><![CDATA[<p>Wie bitte, du weisst nicht was ein Setter ist? Wahrscheinlich zu trivial, aber ok, hier ein Code:</p>
<pre><code class="language-cpp">class CMyClass
{
  // Attributes //
private:
  int m_iAttribute;

  // Constructors &amp; Destructor //
public:
  CMyClass()
    : m_iAttribute(0)
  { }

  ~CMyClass() { };

  // Methods //
public:
  void set_attribute(int iAttribute) { m_iAttribute = iAttribute; }; // Setter
  int get_attribute() const { return m_iAttribute; }; // Getter
};
</code></pre>
<p>Zu deinem zweiten Post, könntest du bitte noch die Typen angeben, das würde helfen, dir zu helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553110</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:18:58 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:40:17 GMT]]></title><description><![CDATA[<p>o.k. geschnallt du setzt die werte der Methodenattribute mit ner extra Funktion...mal sehen ob ich das noich einbaue - kostet mich wahrscheinlich nen Tag Arbeit den ganzen Code zu durchforsten..</p>
<p>Mir geht's ganz Allgemein darum, wie ich es anstellen kann dass die Adresse eines Arrayplatzes z.B. a[2] bleibt wo sie ist und nur der Wert eines anderen Arrayplatzes übergeben wird.</p>
<p>Wenn ich z.B. alle Werte eines Array um einen Arrayplatz verschieben will sodass dann am Ende</p>
<p>a[i+1] = a[i]</p>
<p>gilt...</p>
<p>kann man das einfach so schreiben?</p>
<p>Oder anders - wann wird eine Arrayadresse übergeben und wann der Wert??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553118</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:37:30 GMT]]></title><description><![CDATA[<p>Ich kann es nur nochmals fragen, von welchem Typ ist a? Denn das ist ganz entscheidend!</p>
<pre><code class="language-cpp">int* a = new int[10];
a[0] = a[1]; // Wert wird kopiert!

int** b = new int*[10];

for(int i = 0; i &lt; 10; ++i)
{ b[i] = new int[2]; }

b[0] = b[1]; // Zeiger wird kopiert. b[0] und b[1] Zeigen nun auf das gleiche Array!
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553121</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 15:48:24 GMT]]></title><description><![CDATA[<p>wieder schwierig...</p>
<p>ich habe beispielsweise:</p>
<pre><code class="language-cpp">struct bauteil { 
    double a;
    double b;
};

bauteil teil_1[10][100];

teil_1[10][100].a = 5.12;

teil_1[10][100].a = teil_1[0][0].a
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1553127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553127</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Thu, 24 Jul 2008 15:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 19:57:39 GMT]]></title><description><![CDATA[<p>wozu brauchst du denn jedes ma so riesen arrays?</p>
<p>außerdem könntest du ma construktoren nutzen...</p>
<p>und irgendwie hab ich auch den komischen verdacht, dass du der sprache nicht mächtig bist &gt;&lt;</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553223</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 24 Jul 2008 19:57:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Thu, 24 Jul 2008 20:54:15 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<p>wieder schwierig...</p>
<p>ich habe beispielsweise:</p>
<pre><code class="language-cpp">struct bauteil { 
    double a;
    double b;
};

bauteil teil_1[10][100];

teil_1[10][100].a = 5.12;

teil_1[10][100].a = teil_1[0][0].a
</code></pre>
</blockquote>
<p>Und was genau ist deine Frage?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553247</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 24 Jul 2008 20:54:15 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 06:13:36 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>:</p>
<p>Vielen Dank für deine unqualifizierten und sehr Hilfreichen Beiträge!!</p>
<p>wenn die Sprache denn soi einfach ist - wieso kann dann so ein Genie wie du meine Frage dann nicht sofort beantworten!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553335</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Fri, 25 Jul 2008 06:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 06:16:08 GMT]]></title><description><![CDATA[<p>@ drakon:</p>
<p>genau das ist die Frage!</p>
<p>wird bei jenem Codefragment der Wert oder die Adresse des Speicherplatzes des Array übergeben - ich war mir eigentlich sicher, dass ersteres der Falkl ist...nach auftauchen meines Problems bin ich mir da eben nicht mehr ganz so sicher wann ein Wert übergeben wird und wann ein Addresszeiger umgelegt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553336</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Fri, 25 Jul 2008 06:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 06:20:25 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<pre><code class="language-cpp">bauteil teil_1[10][100];
teil_1[10][100].a = 5.12;
</code></pre>
</blockquote>
<p>Dieser Code greift doch schon über die Array-Grenzen hinweg. Was danach passiert ist undefiniert. Im glücklichsten stürzt das Programm ab. Es können aber auch Kobolde aus der Nase fliegen.</p>
<p>Riecht danach, dass du irgendwo über Array-Grenzen hinweg liest und schreibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553337</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 25 Jul 2008 06:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 06:24:44 GMT]]></title><description><![CDATA[<p>Warum verwendest du z.B. ein zweidimensionales Array?</p>
<p>Wenn es von der Logik her Sinn macht, kann man sowas auch so machen:</p>
<pre><code class="language-cpp">struct Ttest
{
    int *Array1;
    // hier noch andere Dinge reinschreiben, die zum Array gehören
};

Ttest *HauptArray;
</code></pre>
<p>Um die ganze Konstruktion lässt doch dann auch noch prima eine Klasse basteln, mit Konstruktor, Destruktor, Getter, Setter...</p>
<p>Das hilft jetzt zwar nicht wirklich weiter, aber ich wollte dir nur mal mit auf den Weg geben wie man solche Probleme, wie du sie gerade hast vermeidet. Nämlich durch ordentlich aufgebaute Datenstrukturen mit sicheren Zugriffsfunktionen.</p>
<p>Also ein zweidimensionales Array würde ich nur dann nehmen wenn es sich wirklich um ein, in der Realität, 2-dimensionales Objekt handelt (Spielfeld, Schachbrett, etc... ). Gerade für Anfänger sind solche Dinger immer mit Fehlerquellen behaftet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553339</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Fri, 25 Jul 2008 06:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 08:54:41 GMT]]></title><description><![CDATA[<p>Es handelt sich sogar um ein dreidimensionales Objekt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>also konkret habe ich ein 2-D struct Array mit doubles, die die Variablen des Arrayplatzes speichert z.B.</p>
<pre><code class="language-cpp">struct teil {

   double a;
   ...
};

struct teil teil_1[i][j];
</code></pre>
<p>Müsste ich jetzt also für jede Variable eine Setter- und Getter-Funktion haben um das Ganze korrekt zu implementieren?</p>
<p>so in etwa:</p>
<pre><code class="language-cpp">struct teil {

   double a;
   ...

   void set_a (double z, int i, int j){
    teil.a[i][j] = z;   
   }

   double get_a(int i, int j){
     return teil[i][j].a
   }

};
</code></pre>
<p>sollte es damit dann keine Probleme mehr geben??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553404</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Fri, 25 Jul 2008 08:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 09:34:25 GMT]]></title><description><![CDATA[<p>Nein es muss nicht sein, dass es dein Problem löst, aber es macht den Code übersichtlicher und leichter zu debuggen wie oben von anderen schon erwähnt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553439</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Fri, 25 Jul 2008 09:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 11:07:28 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct teil
  {
   double a;
   ...

   void set_a (double z, int i, int j){
    teil.a[i][j] = z;   
   }

   double get_a(int i, int j){
     return teil[i][j].a
   }

};
</code></pre>
</blockquote>
<p>=&gt;</p>
<pre><code class="language-cpp">struct teil
  {
   private:
     std::vector &lt; std::vector &lt;double&gt; &gt; a; //vll nen besseren Namen?
/*falls du vector nicht benutzen willst, dann nimm double **a;
aber ich würd hier auf jeden fall vector benutzen...*/

  public:
   void set_a (double z, int i, int j) //üblicherweise überlädt man dafür den operator []
   {
    teil.a[i][j] = z;   
   }

   double get_a (int i, int j) /*const*/
   { //operator []
     return teil[i][j].a
   }

/*falls du vectoren nimmst, kannst du ja auch die .at () - Funktion von außen zugänglich machen
und vor erst würd ich auch immer die nehmen - später kann man das immer noch ändern, wenn man weiß, dass die schleifen alle so stimmen
und wenn der profiler sagt, dass es am at () hängt...*/

  teil (const size_t laenge_x, const size_t laenge_y); //todo...
};
</code></pre>
<p>Je nach Verwendung solltest du vll auch die reservere- und push_back-Funktion des Vektors zur Verfügung stellen... Du solltest halt nur darauf achten, dass die Dimensionen der Arrays nicht unterschiedlich sind...</p>
<p>Also könntest du es auch so machen:</p>
<pre><code class="language-cpp">struct teil
{
private:
  double a;
  double b;
public:
  teil (double _a, double _b) : a (_a), b (_b);
  //todo: Getter + Setter für a und b
};

std::vector &lt; std::vector &lt;teil&gt; &gt; teile;
/*wenn du die größe weist:*/
teile.reserve (x);
//todo:dann zum bsp. mit for_each die inneren vectoren...
/*wenn nicht*/
std::vector &lt;teil&gt; tmp (1, teil (dein_a, dein_b));
/*oder*/
std::vector &lt;teil&gt; tmp;
while (/*abbruchbedingung*/)
{
//cin etc
tmp.push_back (teil (tmp_a, tmp_b));
};
/*danach die neue Dimension anhängen:*/
teile.push_back (tmp);
</code></pre>
<p>nat. kannst du das ganze auch ganz bequem *hüstel* mit new und delete machen - oder lässt es so statisch, wie du hast - allerdings würd ich an deiner stelle std::vector nehmen - wenn du immer reserve aufrufst, sollte es auch genau so schnell sein, wie die statische c-variante...</p>
<p>bb...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553504</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 25 Jul 2008 11:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 12:23:47 GMT]]></title><description><![CDATA[<p>jaja ich machs jetzt richtig...seh ja ein dass die schnelle Variante nix bringt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Vielen Dank euch Allen für die Super Tips!! Habt mir sehr geholfen!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553560</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Fri, 25 Jul 2008 12:23:47 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 12:33:49 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::vector &lt; std::vector &lt;double&gt; &gt; a; //vll nen besseren Namen? 
/*falls du vector nicht benutzen willst, dann nimm double **a; 
aber ich würd hier auf jeden fall vector benutzen...*/
</code></pre>
</blockquote>
<p>Wenn man nur kleine Dimensionen und kleine Typen ( <code>double</code> ) hat, ist ein zweidimensionaler <code>std::vector</code> ja noch aktzeptabel. Man sollte sich dabei aber auch bewusst sein, dass der Container <code>std::vector</code> normalerweise mehr Speicherplatz reserviert als benötigt. Wenn seine Kapazität erreicht wird, reallokiert er sich mit doppelter Kapazität. In einem 2D-Vector quadriert sich das Ausmass der Speicherverschwendung, sodass es im Extremfall sogar sein kann, dass man nur einen Viertel des allokierten Speichers überhaupt nutzt. Bei grossen Objekten und Dimensionen kann das schon mal ein Problem werden. Ansonsten kann man die zweite Dimension auch in einem 1D-Vector darstellen und hat im Extremfall nur 50% Nutzung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553566</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 25 Jul 2008 12:33:49 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Array Adressierungsproblem on Fri, 25 Jul 2008 18:57:34 GMT]]></title><description><![CDATA[<p>dafür gibt es ja reserve ^^</p>
<p>unskilled schrieb:</p>
<blockquote>
<p>teile.reserve (x);<br />
//todo:dann zum bsp. mit for_each die inneren vectoren...</p>
</blockquote>
<p>wie würdest du es sonst machen, nexus?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553773</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 25 Jul 2008 18:57:34 GMT</pubDate></item></channel></rss>