<?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[CArray Class, mach ichs richtig?]]></title><description><![CDATA[<p>Bin offensichtlich neu, moechte eigentlich nur wissen ob das alles so richtig ist, und ob ich keine memory leaks verursache.</p>
<p>In der funktion ReSize ist das loeschen des tmp arays nicht noetig/moeglich ( wenn ich das mach, ist im moment auskommentiert, stuerzt die exe ab) wieso?</p>
<p>Verbesserungsvorschlaege willkommen <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>CArray.h</p>
<pre><code>#ifndef _CARRAY_H_
#define _CARRAY_H_

class CArray {

	public:
		CArray(int iSize);
		~CArray(void);

		bool ReSize(int iSize);

		int *arr;		

};

#endif
</code></pre>
<p>CArray.cpp</p>
<pre><code>#include &lt;string.h&gt;
#include &quot;CArray.h&quot;

CArray::CArray(int iSize) {

	arr = new int[iSize];

}

CArray::~CArray(void) {

	delete[] arr;

}

bool CArray::ReSize(int iSize) {

	int *tmp = new int[iSize];

	memcpy(tmp, arr, iSize * sizeof(int));

	delete[] arr;
	arr = tmp;
        //delete[] tmp;

	return true;

}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &quot;CArray.h&quot;

int main(void) {

	CArray atest(20);

	atest.arr[19] = 222;

	printf(&quot;%d\n&quot;,atest.arr[19]);
	atest.ReSize(30);

	printf(&quot;%d\n&quot;,atest.arr[19]);

	return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/293795/carray-class-mach-ichs-richtig</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 04:04:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293795.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Oct 2011 04:54:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 04:54:33 GMT]]></title><description><![CDATA[<p>Bin offensichtlich neu, moechte eigentlich nur wissen ob das alles so richtig ist, und ob ich keine memory leaks verursache.</p>
<p>In der funktion ReSize ist das loeschen des tmp arays nicht noetig/moeglich ( wenn ich das mach, ist im moment auskommentiert, stuerzt die exe ab) wieso?</p>
<p>Verbesserungsvorschlaege willkommen <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>CArray.h</p>
<pre><code>#ifndef _CARRAY_H_
#define _CARRAY_H_

class CArray {

	public:
		CArray(int iSize);
		~CArray(void);

		bool ReSize(int iSize);

		int *arr;		

};

#endif
</code></pre>
<p>CArray.cpp</p>
<pre><code>#include &lt;string.h&gt;
#include &quot;CArray.h&quot;

CArray::CArray(int iSize) {

	arr = new int[iSize];

}

CArray::~CArray(void) {

	delete[] arr;

}

bool CArray::ReSize(int iSize) {

	int *tmp = new int[iSize];

	memcpy(tmp, arr, iSize * sizeof(int));

	delete[] arr;
	arr = tmp;
        //delete[] tmp;

	return true;

}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &quot;CArray.h&quot;

int main(void) {

	CArray atest(20);

	atest.arr[19] = 222;

	printf(&quot;%d\n&quot;,atest.arr[19]);
	atest.ReSize(30);

	printf(&quot;%d\n&quot;,atest.arr[19]);

	return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2129813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129813</guid><dc:creator><![CDATA[cutiepie666]]></dc:creator><pubDate>Tue, 11 Oct 2011 04:54:33 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 05:35:26 GMT]]></title><description><![CDATA[<p>1. Solltest Du Dein Array mal verkleinern und nicht vergrößern, wird mit memcpy in Speicher geschrieben, der Dir nicht gehört.</p>
<p>2. tmp darfst Du in resize nicht löschen. Da ist doch Dein neues (bzw. neu dimensioniertes) Array drin!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129818</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 11 Oct 2011 05:35:26 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 05:58:02 GMT]]></title><description><![CDATA[<p>- Das Array weiß nie, wie groß es ist<br />
- Du hast die Dreierregel verletzt (kann man nach googeln)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129822</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 11 Oct 2011 05:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 06:33:50 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>- Das Array weiß nie, wie groß es ist<br />
- Du hast die Dreierregel verletzt (kann man nach googeln)</p>
</blockquote>
<p>Ok hab size hinzugefügt, und den fehler im memcpy denke ich auch gefixed, sollte man jetzt auch verkleinern koennen.</p>
<p>CArray.h</p>
<pre><code>#ifndef _CARRAY_H_
#define _CARRAY_H_

class CArray {

	public:
		CArray(void);
		CArray(int iSize);
		~CArray(void);

		bool ReSize(int iSize);

		int *arr;
		int size;

};

#endif
</code></pre>
<p>CArray.cpp</p>
<pre><code>#include &lt;exception&gt;
#include &lt;string.h&gt;
#include &quot;CArray.h&quot;

using namespace std;

CArray::CArray(int iSize) {

	try {

		arr = new int[iSize];

	} catch (bad_alloc&amp;) {

	}

	size = iSize;

}

CArray::~CArray(void) {

	delete[] arr;

}

bool CArray::ReSize(int iSize) {

	int *tmp;

	try {

		tmp = new int[iSize];

	} catch (bad_alloc&amp;) {

		return false;

	}

	memcpy(tmp, arr, size * sizeof(int));

	delete[] arr;
	arr = tmp;
	size = iSize;

	return true;

}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;CArray.h&quot;

using namespace std;

int main(void) {

	CArray atest(20);

	atest.arr[19] = 222;

	printf(&quot;%d %d\n&quot;,atest.arr[19], atest.size);
	atest.ReSize(30);

	printf(&quot;%d %d\n&quot;,atest.arr[19], atest.size);

	return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2129828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129828</guid><dc:creator><![CDATA[cutiepie666]]></dc:creator><pubDate>Tue, 11 Oct 2011 06:33:50 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 06:36:52 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>- Das Array weiß nie, wie groß es ist<br />
- Du hast die Dreierregel verletzt (kann man nach googeln)</p>
</blockquote>
<p>Die Dreierregel, auch bekannt als Die Große Drei oder Regel der Großen Drei bezeichnet in C++ eine Daumenregel, die besagt, dass, wenn eine Klasse eines der folgenden drei definiert, meistens auch die anderen beiden definiert werden sollten[1]:</p>
<p>Kopierkonstruktor<br />
Destruktor<br />
Zuweisungsoperator</p>
<p>Was fehlt mir ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129829</guid><dc:creator><![CDATA[cutiepie666]]></dc:creator><pubDate>Tue, 11 Oct 2011 06:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 07:13:10 GMT]]></title><description><![CDATA[<p>Du hast keinen Kopierkonstruktor und keinen Zuweisungsoperator definiert. Wenn Du zB ein Objekt Deiner Klasse per value-Übergabe an eine Funktion übergibst, wird eine flache Kopie erstellt, dh der arr-Zeiger der Kopie zeigt auf denselben Speicher, wie der des Originals. Beim Beenden der Funktion wird die Kopie zerstört, der Destruktor wird aufgerufen und gibt den Speicher, auf den arr zeigt, frei. Nun hat zeigt arr im Original - Objekt auf Speicher, der Dir nicht mehr gehört.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129834</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 11 Oct 2011 07:13:10 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 09:44:57 GMT]]></title><description><![CDATA[<p>cutiepie666 schrieb:</p>
<blockquote>
<p>CArray.h</p>
<pre><code>#ifndef _CARRAY_H_
#define _CARRAY_H_

class CArray {

	public:
		CArray(void);
		CArray(int iSize);
		~CArray(void);
		
		bool ReSize(int iSize);

		int *arr;
		int size;

};

#endif
</code></pre>
</blockquote>
<p>- Bestimmte Bezeichner sind <a href="http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier" rel="nofollow">reserviert</a>. Dein Include-Guard ist ein solcher reservierter Bezeichner.<br />
- Warum sind arr und size öffentlich?<br />
- Statt &quot;(void)&quot; schreibt man in C++ &quot;()&quot;.<br />
- Kopierkonstruktor und Zuweisungsoperator werden hier vom Compiler selbst deklariert und ggf definiert (bei Benutzung). Diese tun dann aber das falsche (Kopieren einfach den Zeiger). So kannst Du ein CArray-Objekt kopieren. Beide Objekte zeigen dann aber auf denselben Speicherbereich und fühlen sich als alleinigen Besitzer. Es kommt zu einer Doppellöschung oder einem Speicherleck.</p>
<p>cutiepie666 schrieb:</p>
<blockquote>
<p>CArray.cpp</p>
<pre><code>#include &lt;exception&gt;
#include &lt;string.h&gt;
#include &quot;CArray.h&quot;

using namespace std;

CArray::CArray(int iSize) {

	try {

		arr = new int[iSize];
	
	} catch (bad_alloc&amp;) {

		
	
	}

	size = iSize;

}

CArray::~CArray(void) {

	delete[] arr;

}

bool CArray::ReSize(int iSize) {
	
	int *tmp;

	try {

		tmp = new int[iSize];

	} catch (bad_alloc&amp;) {
	
		return false;
	
	}

	memcpy(tmp, arr, size * sizeof(int));

	delete[] arr;
	arr = tmp;
	size = iSize;

	return true;

}
</code></pre>
</blockquote>
<p>- eine bad_alloc-Ausnahme solltest Du nicht dort im Konstruktor fangen. Wenn die fliegt, bleibt &quot;arr&quot; ungültig, das Objekt lebt, ist aber nicht benutzbar. Besser ist es, die Ausnahme einfach weiter fliegen zu lassen. Dann muss man als Anwender von CArray auch nicht extra prüfen, ob der Konstruktor seinen Job erledigt hat oder nicht. Gleiches gilt für ReSize. Entweder ReSize funktioniert oder es fliegt eine Ausnahme. Keine Grund noch einen bool zurück zu geben!<br />
- Die Zahl der zu kopierenden Objekte in ReSize ist min(alte_groesse,neue_groesse), <em>nicht</em> alte_groesse</p>
<p>Schaff Dir bitte <a href="http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list" rel="nofollow">vernünftiges Lehrmaterial</a> für C++ an. Ich kann persönlich empfehlen:<br />
- Accelerated C++<br />
- Effective C++</p>
<p>Positives Beispiel:</p>
<p>intarray.h</p>
<pre><code class="language-cpp">#ifndef INTARRAY_H_INCLUDED
#define INTARRAY_H_INCLUDED

#include &lt;algorithm&gt;
#include &lt;cassert&gt;

class intarray
{
  int* ptr_;
  int size_;
public:

  intarray() : ptr_(0), size_(0) {}

  explicit intarray(int size);

  // Destruktor
  ~intarray();

  void swap(intarray &amp; with) {
    using std::swap;
    swap(this-&gt;ptr_,  with.ptr_);
    swap(this-&gt;size_, with.size_);
  }

  // Kopierkonstruktor
  intarray(intarray const&amp;);

  // Zuweisungsoperator
  intarray&amp; operator=(intarray temp) {
    this-&gt;swap(temp);
    return *this;
  }

  int size() const {return size_;}

  int const* get() const {return ptr_;}
  int      * get()       {return ptr_;}

  int const&amp; operator[](int index) const {
    assert(ptr_);
    assert(0&lt;=index &amp;&amp; index&lt;size_);
    return ptr_[index];
  }

  int      &amp; operator[](int index)       {
    assert(ptr_);
    assert(0&lt;=index &amp;&amp; index&lt;size_);
    return ptr_[index];
  }
};

inline void swap(intarray &amp; a, intarray &amp; b)
{ a.swap(b); }

#endif
</code></pre>
<p>intarray.cpp</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;
#include &quot;intarray.hpp&quot;

intarray::intarray(int size)
: ptr_(new int[size]), size_(size)
{}

intarray::~intarray()
{
  delete[] ptr_;
}

intarray::intarray(intarray const&amp; x)
: ptr_(0), size_(0)
{
  if (x.ptr_ &amp;&amp; x.size_&gt;0) {
    ptr_ = new int[x.size_];
    size_ = x.size_;
    std::copy(x.ptr_,x.ptr_+x.size_,ptr_);
  }
}
</code></pre>
<p>(bugfixing and a resize function is left to the reader)</p>
<p>Natürlich ist diese Klasse nur zu Demonstrationszwekcen/zur Übung und man sollte stattdessen so etwas wie std::vector verwenden. In Büchern wir Accelerated C++ verwendet man zunächst für die Lösung von einfachen Problemen Standardcontainer, IOstreams und die String-Klasse. In späteren Kapiel wird dann erklärt, wie man sich eigene Typen bauen kann, die ähnlich einfach zu benutzen sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129857</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 11 Oct 2011 09:44:57 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 08:38:56 GMT]]></title><description><![CDATA[<p>Sag mal, wieso nimmst du C-I/Os ?<br />
Dein Programm dürfte garnicht kompilieren. Für printf musst du &lt;cstdio&gt; einbinden, wobei ich &lt;iostream&gt; gleich lasssen würde und wie alle normalen Menschen 'cout' benutzen würd'.<br />
Das 'void' in</p>
<pre><code class="language-cpp">main(void)
</code></pre>
<p>ist auch unnötig, ebenso wie das</p>
<pre><code>return 0;
</code></pre>
<p>Edit: Zu spät ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129858</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 11 Oct 2011 08:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Tue, 11 Oct 2011 09:35:18 GMT]]></title><description><![CDATA[<p>cutiepie666 schrieb:</p>
<blockquote>
<p>CArray Class, mach ichs richtig?</p>
</blockquote>
<p><a href="http://www.c-plusplus.net/forum/p2005233#2005233" rel="nofollow">Nein, das C ist falsch</a> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2129884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129884</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 11 Oct 2011 09:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 07:32:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Schaff Dir bitte <a href="http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list" rel="nofollow">vernünftiges Lehrmaterial</a> für C++ an. Ich kann persönlich empfehlen:<br />
- Accelerated C++<br />
- Effective C++</p>
</blockquote>
<p>Danke fuer die Hilfe, klingt alles einleuchtend, wuerde mir ja gerne diese 2 buehcer besorgen, jedoch hab ich keine lust auf papier, und als ebook versionen zum kauf find ich beide leider nicht, da beide von 2000 sind, gibts nichts aktuelleres, veroeffentlich kuerzlich was genauso gut ist damit ich es als ebook kaufen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130292</guid><dc:creator><![CDATA[cutiepie666]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:32:06 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 08:05:38 GMT]]></title><description><![CDATA[<p>Mir sind leider keine offiziellen eBooks mit ähnlich <em>hoher Qualität</em> bekannt.</p>
<p>Aktuell genug sind die vorgeschlagenen Bücher aber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130311</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 12 Oct 2011 08:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 08:47:49 GMT]]></title><description><![CDATA[<p>Wenn du mir ein Email schreibst, kann ich dir Effective C++ als EBook zukommen lassen. Allerdings werde ich in den nächsten Tagen nicht so schnell antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130324</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 12 Oct 2011 08:47:49 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 09:08:39 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Wenn du mir ein Email schreibst, kann ich dir Effective C++ als EBook zukommen lassen. Allerdings werde ich in den nächsten Tagen nicht so schnell antworten.</p>
</blockquote>
<p>Na, wenn er solche Quellen will, dann findet man beide in 5 Sekunden bei Google.</p>
<p>P.S.: Und es beweist natürlich, dass die Ebooks existieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130336</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Oct 2011 09:08:39 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 09:11:09 GMT]]></title><description><![CDATA[<p>Ich habs noch nicht gegoogelt, das kann schon sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130337</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 12 Oct 2011 09:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 09:28:00 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Ich habs noch nicht gegoogelt, das kann schon sein.</p>
</blockquote>
<p>Ich schon. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2130349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130349</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Oct 2011 09:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to CArray Class, mach ichs richtig? on Wed, 12 Oct 2011 09:46:35 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>P.S.: Und es beweist natürlich, dass die Ebooks existieren.</p>
</blockquote>
<p>Es beweist nicht, dass es die Titel als legal kaufbare eBooks gibt. Die kann ja auch jemand eingescannt oder abgetippt haben...</p>
<p>Und gebraucht bekommt man die Bücher wahrscheinlich für weniger als 20€ (jeweils). Das sind sie allemal Wert, wenn man berücksichtigt, dass man sich damit viel Zeit und Ärger sparen kann...</p>
<p>OT: Was mir bei geDRMten eBooks allerdings fehlt, ist die Möglichkeit, Bücher zu verleihen, verschenken, verkaufen. Da mann nur die Lese-Lizenz erwirbt, sind sie wenigstens oft günstiger. (Das sage ich als &quot;Kindle Keyboard&quot;-Besitzer)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130360</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 12 Oct 2011 09:46:35 GMT</pubDate></item></channel></rss>