<?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 in Klasse mit new deklarieren]]></title><description><![CDATA[<p>Ich stehe vor dem Problem, dass ich ein Array wie z.B:</p>
<p>double (*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE<br />
...<br />
delete m_pA;</p>
<p>in einer Klasse verpacken möchte.</p>
<p>Dazu habe ich in die Klasse in die Header Datei den Pointer geschrieben:</p>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
public:
	AdaptiveAlgorithm(void);
	~AdaptiveAlgorithm(void);

private:
	double* m_A; // AmplitudeDOE
};
</code></pre>
<p>und in den Konstruktor bzw Destruktur den Rest:</p>
<pre><code class="language-cpp">#include &quot;AdaptiveAlgorithm.h&quot;

/* Konstruktor */
AdaptiveAlgorithm::AdaptiveAlgorithm(void)
{
	(*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE
}

/* Destruktor */
AdaptiveAlgorithm::~AdaptiveAlgorithm(void)
{	 
	delete m_pA;
}
</code></pre>
<p>Das jedoch funktioniert überhaupt nicht.<br />
Im Destruktor wird m_pA weder als bekannt noch als Pointer erkannt.</p>
<p>Wie macht man es also richtig ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172073/array-in-klasse-mit-new-deklarieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 16:07:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172073.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Feb 2007 09:14:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 09:14:15 GMT]]></title><description><![CDATA[<p>Ich stehe vor dem Problem, dass ich ein Array wie z.B:</p>
<p>double (*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE<br />
...<br />
delete m_pA;</p>
<p>in einer Klasse verpacken möchte.</p>
<p>Dazu habe ich in die Klasse in die Header Datei den Pointer geschrieben:</p>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
public:
	AdaptiveAlgorithm(void);
	~AdaptiveAlgorithm(void);

private:
	double* m_A; // AmplitudeDOE
};
</code></pre>
<p>und in den Konstruktor bzw Destruktur den Rest:</p>
<pre><code class="language-cpp">#include &quot;AdaptiveAlgorithm.h&quot;

/* Konstruktor */
AdaptiveAlgorithm::AdaptiveAlgorithm(void)
{
	(*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE
}

/* Destruktor */
AdaptiveAlgorithm::~AdaptiveAlgorithm(void)
{	 
	delete m_pA;
}
</code></pre>
<p>Das jedoch funktioniert überhaupt nicht.<br />
Im Destruktor wird m_pA weder als bekannt noch als Pointer erkannt.</p>
<p>Wie macht man es also richtig ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220933</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Thu, 01 Feb 2007 09:14:15 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 09:37:42 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>1.)</p>
<p>pospiech schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
...	double* m_A; // AmplitudeDOE
...	(*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE
...	delete m_pA;
</code></pre>
<p>...</p>
</blockquote>
<p>Du musst Dich schon entscheiden, wie Deine Variable heißen soll ... mit p oder ohne.</p>
<p>2.)<br />
Im Ctor schreibst Du</p>
<pre><code class="language-cpp">(*m_pA)[SIZEDOE] = ...
</code></pre>
<p>Damit dereferenzierst Du den Pointer. Wohin zeigt der denn ? Liegt da etwas, das Du dereferenzieren kannst ?<br />
In Deinem obigen Code jedenfalls nicht. Du Dereferenzierst sogar doppelt: Einmal mit * und einmal mit [] ...</p>
<ul>
<li>das geht mit einem double* gar nicht (nur einmal),</li>
<li>mit einem double** bekämst Du nach doppelter Dereferenzierung einen double ... und dem kannst Du nicht per new einen Zeiger zuweisen.</li>
</ul>
<p>Wenn Du tatsächlich 2 Dimensionen verwenden möchtest, muß Dein Attribut vom Typ double** sein und Du musst</p>
<ul>
<li>zuerst ein Array von Zeigern allozieren</li>
</ul>
<pre><code class="language-cpp">double** m_A = new double* [SIZE1];
</code></pre>
<ul>
<li>... und danach für jeden Zeiger ein entsprechendes Feld:</li>
</ul>
<pre><code class="language-cpp">for(int i=0; i&lt;SIZE1; ++i) {
    m_A[i] = new (double)[SIZE2];
}
</code></pre>
<p>(Noch einfacher hättest Du es mit einem vector&lt;vector&lt;double&gt; &gt; m_A;)</p>
<p>3.) Wo immer Du new[] verwendest (und das versuchst Du) musst DU delete[] verwenden, sonst gibt's Speicherlecks (oder undefiniertes Verhalten ?).</p>
<p>4.) Warum Arrays, wenn man STL-Container wie std::vector haben kann, die einem den ganzen Krempel abnehmen können.... <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220938</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 01 Feb 2007 09:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 09:43:36 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Du musst Dich schon entscheiden, wie Deine Variable heißen soll ... mit p oder ohne.</p>
</blockquote>
<p>mein Fehler. Das löst mein Prolem aber in keiner Weise.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Im Cto schreibst Du</p>
<pre><code class="language-cpp">(*m_pA)[SIZEDOE] = ...
</code></pre>
<p>Damit dereferenzierst Du den Pointer. Wohin zeigt der denn ? Liegt da etwas, das Du dereferenzieren kannst ?</p>
</blockquote>
<p>Ich verstehe was du meinst, aber suche nach dem korreten Code - den den kenne ich ja nicht.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>3.) Wo immer Du new[] verwendest (und das versuchst Du) musst DU delete[] verwenden, sonst gibt's Speicherlecks (oder undefiniertes Verhalten ?).</p>
</blockquote>
<p>Jetzt verstehe ich nur noch Bahnhof.<br />
Ich möchte in einer Klasse ein Array dynamisch deklarieren. Es soll mit dem Destruktor der Klasse wieder zuerstört werden, und im Konstruktor (oder wo auch immer) aufgebaut.</p>
<p>Wie macht man das? Ich suche einen einfachen Beispielcode für eine mehrdimensionale Matrix.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>4.) Warum Arrays, wenn man STL-Container wie std::vector haben kann, die einem den ganzen Krempel abnehmen können.... <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>
</blockquote>
<p>Was hilft mir ein STL Vector wenn ich sowieso ein 2 Dimensionales Array benötige? Abgesehen davon, dass ich von STL nicht den blassesten Schimmer habe.</p>
<p>Das mein Code vermutlich grottenfalsch ist wundert mich nicht, da ich überhaupt nicht weiß wie es gehen sollte. Mir ist daher mit einem richtigen Beispiel für ein dynamisches 2D-Array in einer Klasse am meisten geholfen.</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220956</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Thu, 01 Feb 2007 09:43:36 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 09:47:50 GMT]]></title><description><![CDATA[<p>Vielleicht schaust du einfach mal in die FAQ zum Thema <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html" rel="nofollow">dynamische mehrdimensionale Arrays</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220962</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Feb 2007 09:47:50 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 09:58:02 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Vielleicht schaust du einfach mal in die FAQ zum Thema <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html" rel="nofollow">dynamische mehrdimensionale Arrays</a></p>
</blockquote>
<p>Also so:</p>
<pre><code class="language-cpp">int (*pArr)[5] = 0;
    pArr = new int[2][5];
    pArr[0][0] = 42;
    delete [] pArr;
</code></pre>
<p>nur dass ich die erste Zeile in den header, und die zweite in den Konstruktor und die letzte in den Destruktor schreibe.</p>
<p>Danke,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220970</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Thu, 01 Feb 2007 09:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 10:13:39 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<p>...<br />
Ich verstehe was du meinst, aber suche nach dem korreten Code - den den kenne ich ja nicht. ...</p>
</blockquote>
<p>Naja, den habe ich schon geschrieben:</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>...<br />
Wenn Du tatsächlich 2 Dimensionen verwenden möchtest, muß Dein Attribut vom Typ double** sein und Du musst</p>
<ul>
<li>zuerst ein Array von Zeigern allozieren</li>
</ul>
<pre><code class="language-cpp">double** m_A = new double* [SIZE1];
</code></pre>
<ul>
<li>... und danach für jeden Zeiger ein entsprechendes Feld:</li>
</ul>
<pre><code class="language-cpp">for(int i=0; i&lt;SIZE1; ++i) {
    m_A[i] = new double [SIZE2];
}
</code></pre>
<p>(Noch einfacher hättest Du es mit einem vector&lt;vector&lt;double&gt; &gt; m_A;)<br />
...</p>
</blockquote>
<p>pospiech schrieb:</p>
<blockquote>
<p>...</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>3.) Wo immer Du new[] verwendest (und das versuchst Du) musst DU delete[] verwenden, sonst gibt's Speicherlecks (oder undefiniertes Verhalten ?).</p>
</blockquote>
<p>Jetzt verstehe ich nur noch Bahnhof.</p>
</blockquote>
<p>Du schreibst (vollkommen zurecht)</p>
<pre><code>... new [i]...irgendwas...[/i] [b][u]&lsqb;&lsqb;/u][/b] [i]...irgendwas...[/i] [b][u&rsqb;&rsqb;[/u][/b]
</code></pre>
<p>In C++ gibt es zwei unterscheidliche Operatoren:</p>
<ul>
<li>new</li>
<li>new[]</li>
</ul>
<p>... und die tun etwas unterschiedliches. Ersterer holt sich Speicher für und erzeugt dahin ein Objekt (Ein Ctor-Aufruf).<br />
Zweiterer tut das für mehrere Objekte =&gt; er ruft mehrere Mal den Ctor der Klasse auf (für jedes Objekt einmal)</p>
<p>Dementsprechend gibt es auch zwei unterschiedliche &quot;Aufräumoperatoren&quot;:</p>
<ul>
<li>delete</li>
<li>delete[]</li>
</ul>
<p>und da muß eben der Passende aufgerufen werden (also z.B. <code>delete[] p;</code> ) ... allein schon, damit tatsächlich für jedes Objekt der Destruktor aufgerufen wird.</p>
<p>pospiech schrieb:</p>
<blockquote>
<p>...<br />
Was hilft mir ein STL Vector wenn ich sowieso ein 2 Dimensionales Array benötige?......</p>
</blockquote>
<p>Ein vector&lt;vector&lt;double&gt; &gt; (wie oben schon erwähnt) kümmerst sich &quot;selbst&quot; darum, dass genug Speicher da ist und nimmt Dir die Verwaltung davon ab.<br />
In Deinem Beispiel muß Deine AdaptiveAlgorithm-Klasse ja irgendetwas machen, wenn plötzlich eine Zeile oder Spalte hinzukommen soll....und zwar eine Menge new/copy/delete-Zeug. Mit vector reicht ein resize() (was ja an und für sich schon rect sprechend in dem Zusammenhang ist)...</p>
<p>pospiech schrieb:</p>
<blockquote>
<p>...<br />
Mir ist daher mit einem richtigen Beispiel für ein dynamisches 2D-Array in einer Klasse am meisten geholfen.<br />
Matthias</p>
</blockquote>
<p>Ich glaube, Dir ist am meisten wirklich geholfen, wenn Du verstehst, wie man das tust - und dazu versuche ich Dir zu helfen. <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220978</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 01 Feb 2007 10:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 10:25:53 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<p>Braunstein schrieb:</p>
<blockquote>
<p>Vielleicht schaust du einfach mal in die FAQ zum Thema <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html" rel="nofollow">dynamische mehrdimensionale Arrays</a></p>
</blockquote>
<p>Also so:</p>
<pre><code class="language-cpp">int (*pArr)[5] = 0;
    pArr = new int[2][5];
    pArr[0][0] = 42;
    delete [] pArr;
</code></pre>
<p>nur dass ich die erste Zeile in den header, und die zweite in den Konstruktor und die letzte in den Destruktor schreibe.</p>
<p>Danke,<br />
Matthias</p>
</blockquote>
<p>Dein Problem könnte (wird) sein, dass in diesem Beispiel die 5 zur Compilezeit bekannt sein muß....<br />
Vielleicht helfen Dir noch templates ... aber spätestens, wenn diese Größe von einem Benutzer eingegeben werden soll, geht auch das nichtmehr.</p>
<p>Du findest wirklich</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;vector&gt;
using namespace std;
int main()
{
    const int FirstDim = 3;
    const int SecDim = 2;
    vector&lt; vector&lt;int&gt; &gt; My2DimArr(FirstDim);
    for (int i = 0; i &lt; FirstDim; i++)
        My2DimArr[i].resize(SecDim);
   
    My2DimArr[1][1] = 42;
}
</code></pre>
</blockquote>
<p>zu kompliziert ?<br />
Hier können FirstDim und SecDim zur Laufzeit eingegeben werden....</p>
<p>Oder in Deinen OriginalCode eingebaut:</p>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
public:
    AdaptiveAlgorithm(size_t FirstDim, size_t SecDim) : m_A(FirstDim) {
        for(size_t i = 0; i &lt; FirstDim; i++) m[i].resize(SecDim);
    }
    // Dtor braucht's gar nicht
private:
    vector&lt;vector&lt;double&gt; &gt; m_A; // Leerzeichen zwischen &gt; &gt; ist wichtig !
};
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220980</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 01 Feb 2007 10:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 13:22:49 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
public:
	AdaptiveAlgorithm(void);
	~AdaptiveAlgorithm(void);

private:
	double* m_A; // AmplitudeDOE
};
</code></pre>
<p>und in den Konstruktor bzw Destruktur den Rest:</p>
<pre><code class="language-cpp">#include &quot;AdaptiveAlgorithm.h&quot;

/* Konstruktor */
AdaptiveAlgorithm::AdaptiveAlgorithm(void)
{
	(*m_pA)[SIZEDOE] = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE
}

/* Destruktor */
AdaptiveAlgorithm::~AdaptiveAlgorithm(void)
{	 
	delete m_pA;
}
</code></pre>
<p>Matthias</p>
</blockquote>
<pre><code class="language-cpp">class AdaptiveAlgorithm
{
public:
	AdaptiveAlgorithm(void);
	~AdaptiveAlgorithm(void);

private:
	double (*m_pA)[SIZEDOE];
</code></pre>
<pre><code class="language-cpp">#include &quot;AdaptiveAlgorithm.h&quot;

/* Konstruktor */
AdaptiveAlgorithm::AdaptiveAlgorithm(void)
{
	m_pA = new double[SIZEDOE][SIZEDOE]; // AmplitudeDOE
}

/* Destruktor */
AdaptiveAlgorithm::~AdaptiveAlgorithm(void)
{	 
	delete[] m_pA;
}
</code></pre>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221050</guid><dc:creator><![CDATA[Helmut S.]]></dc:creator><pubDate>Thu, 01 Feb 2007 13:22:49 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 12:38:44 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<p>Was hilft mir ein STL Vector wenn ich sowieso ein 2 Dimensionales Array benötige?</p>
</blockquote>
<p>Ein Vector hilft dir sehr viel. Denn dafür wurde er entwickelt. Der ist ganz bestimmt nicht aus Jux und Dollerei in der Standardbibliothek drin.</p>
<p>pospiech schrieb:</p>
<blockquote>
<p>Abgesehen davon, dass ich von STL nicht den blassesten Schimmer habe.</p>
</blockquote>
<p>Dann solltest du C++ lernen. Die Standardbibliothek gehört zu den C++-Basics.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221073</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 01 Feb 2007 12:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 13:06:45 GMT]]></title><description><![CDATA[<p>[quote=&quot;Artchi&quot;]</p>
<p>pospiech schrieb:</p>
<blockquote>
<p>pospiech schrieb:</p>
<blockquote>
<p>Abgesehen davon, dass ich von STL nicht den blassesten Schimmer habe.</p>
</blockquote>
<p>Dann solltest du C++ lernen. Die Standardbibliothek gehört zu den C++-Basics.</p>
</blockquote>
<p>Das würde ich gerne. Derzeit benötige ich C++ für die Promotion und bin froh wenn ich C++ ausreichend bis zum Ende der Promotion kann. Dann aber sind die Programme fertig und vermutlich in keinem guten C++ geschrieben - was ich aber nicht ändern kann, denn sonst müßte ich erstmal ein halbes Jahr investieren und nur C++ lernen... (ich bin kein Informatiker)</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221098</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Thu, 01 Feb 2007 13:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to Array in Klasse mit new deklarieren on Thu, 01 Feb 2007 14:20:24 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<p>Artchi schrieb:</p>
<blockquote>
<p>pospiech schrieb:</p>
<blockquote>
<p>Abgesehen davon, dass ich von STL nicht den blassesten Schimmer habe.</p>
</blockquote>
<p>Dann solltest du C++ lernen. Die Standardbibliothek gehört zu den C++-Basics.</p>
</blockquote>
<p>Das würde ich gerne. Derzeit benötige ich C++ für die Promotion und bin froh wenn ich C++ ausreichend bis zum Ende der Promotion kann. Dann aber sind die Programme fertig und vermutlich in keinem guten C++ geschrieben - was ich aber nicht ändern kann, denn sonst müßte ich erstmal ein halbes Jahr investieren und nur C++ lernen... (ich bin kein Informatiker)</p>
<p>Matthias</p>
</blockquote>
<p>Das verstehe ich - wer kann es sich schon leisten, &quot;hauptberuflich C++ zu lernen&quot; ? <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>Allerdings mußt Du überlegen, ab wann Dich ein &quot;irgendwie Hinfrickeln&quot; mehr kostet als es einbringt. Vermutlich wird das hier nicht das letzte Stückchen Source sein, was Du für Deine Arbeit basteln musst ... und wenn Du Dich jetzt ein wenig in die STL reinkniest, kann Dir das bei zukünftigen (evtl. schwereren) Aufgaben sehr viel Zeit sparen.</p>
<p>Konkret: Wenn Du jetzt ein wenig vector ansiehst, brauchst Du Dich vermutlich nie mehr mit</p>
<ul>
<li>new[]/delete[],</li>
<li>seltsamen Arraydefinitionen (&quot;double (*m)[10]&quot; ist nicht immer sprechend) und</li>
<li>-Funktionsübergaben (Arraydimensionen übergeben ?),</li>
<li>den seltsamen Zusammehang von Pointern und Arrays,</li>
<li>verändernden Dimensionen (was passiert eigentlich, wenn Du plötzlich eine 3D-Matrix brauchst ?) etc. rumschlagen</li>
</ul>
<p>Ich wette, den Einsatz eines vectors hättest Du in derselben Zeit hinbekommen, die Du bisher mit der richtigen Array-Syntax verbraten hast.... <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221110</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 01 Feb 2007 14:20:24 GMT</pubDate></item></channel></rss>