<?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[Basteln einer eigenen Template-Containerklasse]]></title><description><![CDATA[<p>servus,</p>
<p>hab mir gerade mal eine eigene Templateklasse geschrieben, die in einem späteren programm als basisklasse eines buffers verwendet wird. erstmal das problem mit der basisklasse selbst: ich habe die klassendefinition in ein headerfile verpackt und den rest in ein sourcefile. allerdings kann der compiler die methoden dann nicht mehr der templateklasse zuordnen. was muss ich dazuschreiben, damit er merkt, dass es sich um das gleiche template wie im header handelt?</p>
<pre><code class="language-cpp">template&lt;class T&gt;// so in etwa ?? aber dann würde es sich doch um ein neues template handeln oder?
myContainerBase::myContainerBase&lt;T&gt;() 
{
//...
};
</code></pre>
<p>jetzt zur abgeleiten Klasse: in der Basisklasse existiert folgende membervariable</p>
<pre><code class="language-cpp">private: static const size_t defaultsize = 1&lt;&lt;10;
</code></pre>
<p>sie soll in der abgeleiteten klasse verschwinden, da sie dort ersetzt wird duch:</p>
<pre><code class="language-cpp">private: static const size_t maxsize = 1&lt;&lt;8;
</code></pre>
<p>bin mir da nicht sicher ob die static-member auch in abgeleiteten klassen erhalten bleiben, wenn ja, wie kann ich das verhindern?</p>
<p>das letzte problem ist folgendes: in der abgeleiteten klasse wird bis auf die größe und das wegfallen des templatearguments nicht viel verändert:</p>
<pre><code class="language-cpp">class myContainerDerived : public myContainerBase&lt;char&gt;
</code></pre>
<p>das dem buffer zugrundeliegende array bleibt also als member bestehn, jetzt eben vom typ char. alle virtual methoden bleiben der abgeleiteten klasse erhalten, klar, aber wie kann ich den operator= und den copy-ctor quasi 'virtual' deklarieren, damit ich ihn nicht doppelt schreiben muss. er macht ja schließlich genau dasselbe.</p>
<p>Vielen lieben dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188006/basteln-einer-eigenen-template-containerklasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 01:09:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188006.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Jul 2007 09:11:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 09:11:12 GMT]]></title><description><![CDATA[<p>servus,</p>
<p>hab mir gerade mal eine eigene Templateklasse geschrieben, die in einem späteren programm als basisklasse eines buffers verwendet wird. erstmal das problem mit der basisklasse selbst: ich habe die klassendefinition in ein headerfile verpackt und den rest in ein sourcefile. allerdings kann der compiler die methoden dann nicht mehr der templateklasse zuordnen. was muss ich dazuschreiben, damit er merkt, dass es sich um das gleiche template wie im header handelt?</p>
<pre><code class="language-cpp">template&lt;class T&gt;// so in etwa ?? aber dann würde es sich doch um ein neues template handeln oder?
myContainerBase::myContainerBase&lt;T&gt;() 
{
//...
};
</code></pre>
<p>jetzt zur abgeleiten Klasse: in der Basisklasse existiert folgende membervariable</p>
<pre><code class="language-cpp">private: static const size_t defaultsize = 1&lt;&lt;10;
</code></pre>
<p>sie soll in der abgeleiteten klasse verschwinden, da sie dort ersetzt wird duch:</p>
<pre><code class="language-cpp">private: static const size_t maxsize = 1&lt;&lt;8;
</code></pre>
<p>bin mir da nicht sicher ob die static-member auch in abgeleiteten klassen erhalten bleiben, wenn ja, wie kann ich das verhindern?</p>
<p>das letzte problem ist folgendes: in der abgeleiteten klasse wird bis auf die größe und das wegfallen des templatearguments nicht viel verändert:</p>
<pre><code class="language-cpp">class myContainerDerived : public myContainerBase&lt;char&gt;
</code></pre>
<p>das dem buffer zugrundeliegende array bleibt also als member bestehn, jetzt eben vom typ char. alle virtual methoden bleiben der abgeleiteten klasse erhalten, klar, aber wie kann ich den operator= und den copy-ctor quasi 'virtual' deklarieren, damit ich ihn nicht doppelt schreiben muss. er macht ja schließlich genau dasselbe.</p>
<p>Vielen lieben dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332813</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 09:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 09:21:25 GMT]]></title><description><![CDATA[<p>Zum ersten: Ja, bei der Definition der Methoden mußt du die Template-Parameter mit angeben:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class container
{
public:
  container();
  ...
};

template&lt;typename T&gt;
container&lt;T&gt;::container()
{
  ...
}
</code></pre>
<p>(der Compiler kann das schon einander zuordnen)</p>
<p>Btw solltest du die Methoden der Template-Klasse NICHT in eine eigene CPP auslagern, sonst bekommst du Probleme mit deinem Linker.</p>
<p>Zum zweiten: Abgeleitete Klassen können die Basis nur erweitern, das heißt es ist nicht möglich, die Member der Basisklasse verschwinden zu lassen. Bei nicht-statischen Membern könntest du eventuell den Inhalt überschreiben, wenn du drankommen könntest (Stichwort: protected).</p>
<p>Zum dritten: op= und den Copy-Ctor kannst du nicht virtuell definieren, brauchst du im Normalfall auch gar nicht. Wenn deine abgeleitete Klasse keine eigenen Daten kopieren muß, kannst du beide einfach weglassen und die vorgefertigten Versionen machen das, was nötig ist (Basisklasse und alle neu hinzugekommenen Member kopieren).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332819</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 26 Jul 2007 09:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 10:34:45 GMT]]></title><description><![CDATA[<p>@ CStoll: Vielen Dank erstmal für die Antwort! aber nochmal zum ersten: habe da mal was gelesen von</p>
<pre><code class="language-cpp">template&lt;&gt;
myContainer::myContainer()
</code></pre>
<p>oder so ähnlich. wird anscheinend nicht von allen compilern unterstützt, da es erst neu in den Standard aufgenommen wurde, aber es ist jedenfalls Ansi-C++. kann es sein, dass sowas den gleichen zweck erfüllt?<br />
und das mit dem auslagern der templatemethoden in eigene cpp files war mir nicht bekannt aber dafür gibts dann wohl die PCHs.</p>
<p>zum zweiten: das ist nicht ganz so tragisch, wenns nicht klappt. und wenns sein muss kann ich sie tatsächlich noch als nicht-statisch deklarieren und überschreiben.</p>
<p>drittens: genau das ist das problem: es werden dynamische arrays verwendet. jetzt müsste ich den copy-ctor und den operator= eben nochmal schreiben (fast der gleich quelltext) und das würde sich schon fast mit der one-def-rule überschneiden. warscheinlich wärs dann sinnvoller eine virtual methode in der basisklasse bereitzustellen, die sowas erledigt, oder jeweils die ctoren der basisklasse aufzurufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332888</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 10:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 10:41:14 GMT]]></title><description><![CDATA[<p>Du kannst doch den Zuweisungsoperator über den CopyCtor definieren, so dass du da erstmal nur einmal kopieren mußt. Beim CopyCtor kannst du doch den der Basisklasse in der Initialisierungsliste ausführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332894</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 26 Jul 2007 10:41:14 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 10:44:28 GMT]]></title><description><![CDATA[<p>slaughter schrieb:</p>
<blockquote>
<p>@ CStoll: Vielen Dank erstmal für die Antwort! aber nochmal zum ersten: habe da mal was gelesen von</p>
<pre><code class="language-cpp">template&lt;&gt;
myContainer::myContainer()
</code></pre>
<p>oder so ähnlich. wird anscheinend nicht von allen compilern unterstützt, da es erst neu in den Standard aufgenommen wurde, aber es ist jedenfalls Ansi-C++. kann es sein, dass sowas den gleichen zweck erfüllt?</p>
</blockquote>
<p>Nein, das ist eine Template-Spezialisierung (und da müsstest du noch angeben, für welchen Typ du das spezialisieren willst).</p>
<blockquote>
<p>und das mit dem auslagern der templatemethoden in eigene cpp files war mir nicht bekannt aber dafür gibts dann wohl die PCHs.</p>
</blockquote>
<p>Inwieweit dir vorcompilierte Header bei Templates weiterhelfen, bin ich nichtmal so sicher.</p>
<p>(im ANSI-Standard gibt es für so eine Trennung zwar das Schlüsselwort 'export' - aber das wird von kaum einem Compiler wirklich unterstützt).</p>
<blockquote>
<p>drittens: genau das ist das problem: es werden dynamische arrays verwendet. jetzt müsste ich den copy-ctor und den operator= eben nochmal schreiben (fast der gleich quelltext) und das würde sich schon fast mit der one-def-rule überschneiden. warscheinlich wärs dann sinnvoller eine virtual methode in der basisklasse bereitzustellen, die sowas erledigt, oder jeweils die ctoren der basisklasse aufzurufen.</p>
</blockquote>
<p>Solange die abgeleitete Klasse keine <strong>eigenen</strong> dynamischen Elemente anlegt und verwaltet, stört das überhaupt nichts. Die default-generierten Methoden rufen jeweils die entsprechenden Funktionen der Basisklasse und der eigenen Member auf - und die Basismethoden sind dann dafür zuständig, die dynamischen Arrays zu verwalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332896</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 26 Jul 2007 10:44:28 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 10:58:32 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<blockquote>
<p>drittens: genau das ist das problem: es werden dynamische arrays verwendet. jetzt müsste ich den copy-ctor und den operator= eben nochmal schreiben (fast der gleich quelltext) und das würde sich schon fast mit der one-def-rule überschneiden. warscheinlich wärs dann sinnvoller eine virtual methode in der basisklasse bereitzustellen, die sowas erledigt, oder jeweils die ctoren der basisklasse aufzurufen.</p>
</blockquote>
<p>Solange die abgeleitete Klasse keine <strong>eigenen</strong> dynamischen Elemente anlegt und verwaltet, stört das überhaupt nichts. Die default-generierten Methoden rufen jeweils die entsprechenden Funktionen der Basisklasse und der eigenen Member auf - und die Basismethoden sind dann dafür zuständig, die dynamischen Arrays zu verwalten.</p>
</blockquote>
<p>oh genau, das hätte ich jetzt fast übersehn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
natürlich wird in der abgeleiteten klasse kein speicher mehr auf dem heap angefordert, dann würd's natürlich gehen. Danke für den Tip <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1332904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1332904</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 10:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 14:25:16 GMT]]></title><description><![CDATA[<p>habe jetzt ein weiteres problem, wobei ich glaube, dass es in C++ nicht umsetzbar ist: ich habe jetzt der basisklasse einen member maxsize verpasst. der wird bei einer methode benötigt, die virtual ist und daher in allen abegeleiteten klassen existiert. maxsize wird weiterhin in jeder abgeleiteten klasse überschrieben, und benötigt für die eben erwähnte methode ja einen this zeiger, kann also nicht statisch sein. const kann es aber auch nicht sein, weil man es sonst im elementinitialisierer des ctors initialisieren müsste, da wirds aber schon wieder gebraucht. zum besseren verständnis mal ein bsp:</p>
<pre><code class="language-cpp">class myContainer
{
private:
    const size_t maxsize;
    size_t m_size;
public:
    myContainer(const size_t size)
    : maxsize(1&lt;&lt;10), m_size(std::min(maxsize, size))
    {};
};
</code></pre>
<p>geht nicht, maxsize müsste da static sein!</p>
<pre><code class="language-cpp">class myContainer
{
private:
    size_t m_size;
    static const size_t maxsize = 1&lt;&lt;10;
//...
};
</code></pre>
<p>geht auch nicht, ich will maxsize ja in jeder abgeleiteten klasse haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333116</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 14:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 14:36:22 GMT]]></title><description><![CDATA[<p>Wieso sollte der erste Teil nicht gehen? Btw, was zwingt dich dazu, maxsize static zu definieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333124</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 26 Jul 2007 14:36:22 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 14:46:50 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Wieso sollte der erste Teil nicht gehen? Btw, was zwingt dich dazu, maxsize static zu definieren?</p>
</blockquote>
<p>der compiler, er sagt es MUSS statisch sein, wobei ich dann die virtual methode vergessen kann ...<br />
btw ich verwende die IDE visual studio 2005 express falls das weiterhilft</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333136</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 14:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 14:48:50 GMT]]></title><description><![CDATA[<p>In den obigen Code-Schnipseln sehe ich keinen Grund, das static zu definieren. Wo und wie setzt du denn maxsize ein? (btw, static und virtual widersprechen sich ein wenig ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333138</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 26 Jul 2007 14:48:50 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 15:06:12 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>In den obigen Code-Schnipseln sehe ich keinen Grund, das static zu definieren.</p>
</blockquote>
<p>glaub mir, ich auch nicht. aber leider macht compiler dann mucken...</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>Wo und wie setzt du denn maxsize ein?</p>
</blockquote>
<p>eine virtual methode der basisklasse setzt es ein. das element maxsize hat in jeder abgeleiteten klasse einen anderen wert und somit arbeitet die virtuelle methode immer mit dem zur klasse passenden maxsize</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>(btw, static und virtual widersprechen sich ein wenig ;))</p>
</blockquote>
<p>eben genau deswegen darf es ja nicht statisch sein!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333155</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 15:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 15:22:46 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>In den obigen Code-Schnipseln sehe ich keinen Grund, das static zu definieren. ...</p>
</blockquote>
<p>Ich schon :p <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="😃"
    /> : Er will es in der Deklaration initialisieren und das geht IIRC nur mit &quot;const static&quot;s, oder ?</p>
<p>Wie wärs mit</p>
<pre><code class="language-cpp">class myContainer
{
private:
    size_t m_size;
    virtual size_t maxsize() { return 1&lt;&lt;10; }
...
</code></pre>
<p>ist jedenfalls const und virtual UND in der Deklaration definiert ...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333164</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Jul 2007 15:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Thu, 26 Jul 2007 16:29:58 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>In den obigen Code-Schnipseln sehe ich keinen Grund, das static zu definieren. ...</p>
</blockquote>
<p>Ich schon :p <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="😃"
    /> : Er will es in der Deklaration initialisieren und das geht IIRC nur mit &quot;const static&quot;s, oder ?</p>
</blockquote>
<p>jo genau, das hatte ich vor. oder wenns sein muss auch noch im elementinitialisierer, aber wirklich nur wenns nich anders geht (wobei nichtmal das geht, also dort initialisieren und direkt dannach noch verwenden, bevor der eigentlich block anfängt)...<br />
von daher glaube ich auch, dasses nur mit static const's geht.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Wie wärs mit</p>
<pre><code class="language-cpp">class myContainer
{
private:
    size_t m_size;
    virtual size_t maxsize() { return 1&lt;&lt;10; }
...
</code></pre>
<p>ist jedenfalls const und virtual UND in der Deklaration definiert ...</p>
</blockquote>
<p>Vielen dank für den vorschlag <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
so muss ich zwar die methode auch jedesmal überschreiben aber das wars dann auch schon. da das mit der konstante nicht geklappt hat, hätte ich fast die besagte methode aus der basisklasse jedesmal neu geschriben und das wär unfug!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333213</guid><dc:creator><![CDATA[slaughter]]></dc:creator><pubDate>Thu, 26 Jul 2007 16:29:58 GMT</pubDate></item><item><title><![CDATA[Reply to Basteln einer eigenen Template-Containerklasse on Fri, 27 Jul 2007 06:21:41 GMT]]></title><description><![CDATA[<p>Hupps,</p>
<p>natürlich ein const vergessen:</p>
<pre><code class="language-cpp">...
    virtual size_t maxsize() const { return 1&lt;&lt;10; }
...
</code></pre>
<p>Allerdings musst Du mit der Technik ein wenig aufpassen, denn maxsize kannst Du nun natürlich nicht mehr &quot;referenzieren&quot; (also z.B. an eine Funktion übergeben, die einen &quot;size_t const*&quot; erwartet - bei &quot;size_t const&amp;&quot; bin ich mir gerade nicht sicher)...</p>
<p>&quot;Initialisierungsliste&quot; wäre natürlich auch noch eine Idee gewesen (auf die ich nicht gekommen bin)... aber da wird's dann mit dem Überladen in abgeleiteten Klassen häßlich....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333532</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 27 Jul 2007 06:21:41 GMT</pubDate></item></channel></rss>