<?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[Lauter Objekte oder STL Container]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>der Titel ist unglücklich gewählt, aber mir fällt kein besserer ein.</p>
<p>Ich möchte folgendes machen:</p>
<p>Für ein Betriebssystem mit C-API einen Wrapper schreiben, der Systembibliotheken öffnen kann anhand des Namens und der Version.</p>
<p>Das Ganze muss im globalen Namensraum stattfinden.</p>
<p>Ich habe ein gutes Bsp. bei dem die Macher wohl noch nicht auf STL o.ä. zurückgreifen können. Dort wird eine Klasse angelegt, deren Konstruktor Librarynamen und -version bekommt und die nen privaten Member hat, der den Zeiger auf die geöffnete Library entgegennimmt.<br />
Der Destruktor schließt dann die Library wieder.</p>
<p>So legt man für jede Lib die man braucht ein solches Objekt außerhalb seiner ganzen Klassen und Methoden an (im MainFile z.B.).</p>
<p>Mein Ansatz wäre nun folgender: Ne statische Klasse mit statischem Vector und ner statichen open-Methode mit Name und Version der Lib. In der Open-Methode wird dann der Zeiger der Lib entgegengenommen und in den Vector gelegt.<br />
Leider verliere ich so die Möglichkeit über nen Destruktor alle geöffneten Libs automatisch schließen zu lassen, so dass man die nicht vergisst!</p>
<p>Eine Alternative wäre eine Klasse, deren Objekte bei der Erzeugung den Zeiger der geöffneten Lib entgegennehmen und diese Objekte (bzw. Zeiger darauf) lege ich dann in den statischen Vector. Wenn der Vector out of scope geht werden denn die Destruktoren der Objekte gerufen (oder? auch wenn Zeiger im Vector liegen?), welche die geöffneten Libs schließen.</p>
<p>Was meint ihr?</p>
<p>Oder seh ich da was ganz falsch?</p>
<p>Danke schon mal und<br />
Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167137/lauter-objekte-oder-stl-container</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 19:05:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167137.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Dec 2006 20:49:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Wed, 06 Dec 2006 20:49:14 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>der Titel ist unglücklich gewählt, aber mir fällt kein besserer ein.</p>
<p>Ich möchte folgendes machen:</p>
<p>Für ein Betriebssystem mit C-API einen Wrapper schreiben, der Systembibliotheken öffnen kann anhand des Namens und der Version.</p>
<p>Das Ganze muss im globalen Namensraum stattfinden.</p>
<p>Ich habe ein gutes Bsp. bei dem die Macher wohl noch nicht auf STL o.ä. zurückgreifen können. Dort wird eine Klasse angelegt, deren Konstruktor Librarynamen und -version bekommt und die nen privaten Member hat, der den Zeiger auf die geöffnete Library entgegennimmt.<br />
Der Destruktor schließt dann die Library wieder.</p>
<p>So legt man für jede Lib die man braucht ein solches Objekt außerhalb seiner ganzen Klassen und Methoden an (im MainFile z.B.).</p>
<p>Mein Ansatz wäre nun folgender: Ne statische Klasse mit statischem Vector und ner statichen open-Methode mit Name und Version der Lib. In der Open-Methode wird dann der Zeiger der Lib entgegengenommen und in den Vector gelegt.<br />
Leider verliere ich so die Möglichkeit über nen Destruktor alle geöffneten Libs automatisch schließen zu lassen, so dass man die nicht vergisst!</p>
<p>Eine Alternative wäre eine Klasse, deren Objekte bei der Erzeugung den Zeiger der geöffneten Lib entgegennehmen und diese Objekte (bzw. Zeiger darauf) lege ich dann in den statischen Vector. Wenn der Vector out of scope geht werden denn die Destruktoren der Objekte gerufen (oder? auch wenn Zeiger im Vector liegen?), welche die geöffneten Libs schließen.</p>
<p>Was meint ihr?</p>
<p>Oder seh ich da was ganz falsch?</p>
<p>Danke schon mal und<br />
Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188184</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Wed, 06 Dec 2006 20:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Wed, 06 Dec 2006 21:54:26 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Also entweder versteh ich Dich falsch, oder Du hast n logischen Verdreher drin...<br />
Meinst Du das ?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<pre><code class="language-cpp">class CLibraryLoader
{
    private:
      HMODULE _hmMod;

    public:
      CLibraryLoader(void)                     : _hmMod(NULL) { }
      CLibraryLoader(const PTCHAR pszFileName) : _hmMod(LoadLibrary(pszFileName)) { }
      ~CLibraryLoader(void)
      {
        if(_hmMod != NULL)
        {
           FreeLibrary(_hmMod);
           _hmMod) = NULL;
        }
      }
      bool Initialize(const PTCHAR pszFileName)
      {
        if(_hmMod != NULL)
        {
           FreeLibrary(_hmMod);
           _hmMod = NULL;
        }
        _hmMod = LoadLibrary(pszFileName);
        return (_hmMod != NULL);
      }
      bool Initialize(HMODULE hmExternal)
      {
        if(hmExternal == NULL)
           return (false);
        if(_hmMod != NULL)
        {
           FreeLibrary(_hmMod);
           _hmMod) = NULL;
        }
        _hmMod = hmExternal;
        return (true);
      }
      void Release(void)
      {
        if(_hmMod != NULL)
        {
           FreeLibrary(_hmMod);
           _hmMod) = NULL;
        }
      }
      HMODULE GetModule     (void) const {     return (_hmMod);     }
      bool    IsInitialized (void) const { return (_hmMod != NULL); }
}
</code></pre>
<p>Aber ob man dafür ne Klasse braucht...Hm ich weiß nit... <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="🙄"
    /></p>
<p>Oder meintest Du was ganz anderes ?! ... Also da würde man dann für jede Library ein Objekt anlegen, was schon sinnvoll ist <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>
<p>EDIT: Noch was übersehen... :p .</p>
<p>Ist natürlich für Windows <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> ... Aber was das soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> hm kp <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>EDIT zur Benutzung:</p>
<pre><code class="language-cpp">std::vector&lt;CLibraryLoader&gt; LibArray;
// Damit haste auch n STL-Vector dabei.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1188199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188199</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 06 Dec 2006 21:54:26 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 10:12:47 GMT]]></title><description><![CDATA[<p>Hi nochmal,</p>
<p>und danke für die Antwort.</p>
<p>Ich meinte sowas ähnliches:</p>
<p>Hier mal das Bsp, welches ich erwähnte ausm Kopp (hab gerad kein Zugriff darauf, also bitte nicht für Tippfehler etc. hauen! Pseudocode!):</p>
<pre><code class="language-cpp">class LibraryBaseC
{
    public:
        LibraryBaseC(string name, in version) : isOpen(false)
        {
            base = OpenLibrary(name, version);
            if (base != NULL) isOpen = true;
        }

        ~LibraryBaseC()
        {
            if (base != null) CloseLibrary(base);
        }

        boolean isOpen() { return isOpen; }

    private:
        boolean isOpen;
        struct Library *base;
}
</code></pre>
<p>Hier wird für jede Library ein eigenes Objekt angelegt. Da die struct Library Zeiger im globalen Namensraum liegen müssen wurden bei diesem Bsp. die Aufrufe:</p>
<pre><code class="language-cpp">LibraryBaseC(&quot;lib1&quot;, 2);
LibraryBaseC(&quot;lib2&quot;, 3);
...
</code></pre>
<p>In den .cpp-Dateien ausserhalb der Main- und anderen Methoden gemacht und es tat.</p>
<p>Meine Idee ist nun folgende:</p>
<pre><code class="language-cpp">class LibraryManagerC
{
    public:
        static boolean openLibrary(string name, int version)
        {
            struct Library *base = OpenLibrary(name, version);
            if (base != NULL)
            {
                libraries.push_back(base);
                return true;
            }
            return false;
        }

        static void closeLibraries()
        {
            // über Vector iterieren und jeden Eintrag an CloseLibrary() geben
        }

    private:
        static vector&lt;struct Library*&gt; libraries;

        LibraryManagerC();
        ~LibraryManagerC();
        // Dazu noch Copykonstruktor und Zuweisungsoperator private machen, damit alles statisch ist!
}
</code></pre>
<p>Hier muss ich aber das closeLibraries() explizit rufen.<br />
Wenn ich nun statt struct Library * Zeiger auf Objekte in den Vector legen würde, würden dann die Destruktoren dieser Objekte mal gerufen werden, da es sich hier doch um ne statische Klasse handelt?!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188251</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Thu, 07 Dec 2006 10:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 11:30:13 GMT]]></title><description><![CDATA[<p>Du könntest den Manager als Singleton erzeugen und im Destruktor alle vorhandenen Library's aufräumen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188262</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 07 Dec 2006 11:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 11:40:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>:</p>
<p>Danke, stimmt!</p>
<p>Gibts da Unterschiede (syntaktisch, semantisch) zu Java (da kenne ich mich besser aus)? Weil ich z.B. im Header der Managerklasse ja eine private Variable vom Tyü der Managerklasse angebe?</p>
<p>Aber nochmal zu meiner anderen Frage:</p>
<p>Werden die Destruktoren der Objekte gerufen, deren Zeiger sich in dem statischen Vektor befinden (müssen doch, oder)?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188265</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Thu, 07 Dec 2006 11:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 11:54:23 GMT]]></title><description><![CDATA[<p>Reth schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>:</p>
<p>Danke, stimmt!</p>
<p>Gibts da Unterschiede (syntaktisch, semantisch) zu Java (da kenne ich mich besser aus)? Weil ich z.B. im Header der Managerklasse ja eine private Variable vom Tyü der Managerklasse angebe?</p>
</blockquote>
<p>So gut kenne ich mich in Java nicht aus. Auf jeden Fall darfst du in C++ keine rekursiven Datenstrukturen aufbauen (mit Zeigern oder statischen Elementen ist es erlaubt).</p>
<blockquote>
<p>Werden die Destruktoren der Objekte gerufen, deren Zeiger sich in dem statischen Vektor befinden (müssen doch, oder)?</p>
</blockquote>
<p>Der Vector ruft nur die Destruktoren der enthaltenen Objekte auf (und der &quot;Dtor&quot; eines Zeigers macht nichts weiter) - also &quot;nein&quot;.<br />
(du könntest aber auch beide Anläufe kombinieren und einen vector&lt;LibraryBaseC&gt; verwenden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188275</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 07 Dec 2006 11:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 12:06:47 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>So gut kenne ich mich in Java nicht aus. Auf jeden Fall darfst du in C++ keine rekursiven Datenstrukturen aufbauen (mit Zeigern oder statischen Elementen ist es erlaubt).</p>
</blockquote>
<p>Wie macht man dann in C++ ein Singleton? Hab nur gelesen, dass es mit Hilfe statischer Variablen möglich ist ne rekursive Struktur einer Klasse, die eine Variable von ihrem Typ enthält aufzubauen (in Thinking in C++).</p>
<blockquote>
<p>Der Vector ruft nur die Destruktoren der enthaltenen Objekte auf (und der &quot;Dtor&quot; eines Zeigers macht nichts weiter) - also &quot;nein&quot;.<br />
(du könntest aber auch beide Anläufe kombinieren und einen vector&lt;LibraryBaseC&gt; verwenden)</p>
</blockquote>
<p>Das wollte ich eigentlich nicht, da ich nicht möchte, dass von allen Objekten Kopien im Vektor liegen.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188283</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Thu, 07 Dec 2006 12:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 12:14:59 GMT]]></title><description><![CDATA[<p>Reth schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>So gut kenne ich mich in Java nicht aus. Auf jeden Fall darfst du in C++ keine rekursiven Datenstrukturen aufbauen (mit Zeigern oder statischen Elementen ist es erlaubt).</p>
</blockquote>
<p>Wie macht man dann in C++ ein Singleton? Hab nur gelesen, dass es mit Hilfe statischer Variablen möglich ist ne rekursive Struktur einer Klasse, die eine Variable von ihrem Typ enthält aufzubauen (in Thinking in C++).</p>
</blockquote>
<p>Google hilft sicher <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="😉"
    /> Ein grober Entwurf könnte z.B. so aussehen:</p>
<pre><code class="language-cpp">class Singleton
{
  static Singleton the_object;

  //Copy-Ctor und op= entschärft
  Singleton(const Singleton&amp;);
  Singleton operator=(const Singleton&amp;);
public:
  static Singleton&amp; getInstance()
  { return the_object; }
};
</code></pre>
<p>(je nach Bedarf lässt sich der Ansatz noch anpassen - schau dich mal um)</p>
<blockquote>
<blockquote>
<p>Der Vector ruft nur die Destruktoren der enthaltenen Objekte auf (und der &quot;Dtor&quot; eines Zeigers macht nichts weiter) - also &quot;nein&quot;.<br />
(du könntest aber auch beide Anläufe kombinieren und einen vector&lt;LibraryBaseC&gt; verwenden)</p>
</blockquote>
<p>Das wollte ich eigentlich nicht, da ich nicht möchte, dass von allen Objekten Kopien im Vektor liegen.</p>
</blockquote>
<p>OK, das ist ein Argument. Da würden mir noch zwei Lösungen einfallen:<br />
a) Du räumst den vector von Hand aus, bevor er endgültig gelöscht wird (im DTor der Manager-Klasse)<br />
b) In der Boost Bibliothek gibt es afaik Pointer-Versionen der STL-Container, die beim Löschen ihre Elemente delete'n</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188289</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 07 Dec 2006 12:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 12:50:32 GMT]]></title><description><![CDATA[<p>Danke!</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>Google hilft sicher <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>
</blockquote>
<p>Ich weiss, ich weiss (schäm).</p>
<blockquote>
<p>Ein grober Entwurf könnte z.B. so aussehen:</p>
<pre><code class="language-cpp">class Singleton
{
  static Singleton the_object;

  //Copy-Ctor und op= entschärft
  Singleton(const Singleton&amp;);
  Singleton operator=(const Singleton&amp;);
public:
  static Singleton&amp; getInstance()
  { return the_object; }
};
</code></pre>
<p>(je nach Bedarf lässt sich der Ansatz noch anpassen - schau dich mal um)</p>
</blockquote>
<p>Muss man den Defaultkonstruktor nicht mit angeben? Ist der dann automatisch private?</p>
<blockquote>
<p>OK, das ist ein Argument. Da würden mir noch zwei Lösungen einfallen:<br />
a) Du räumst den vector von Hand aus, bevor er endgültig gelöscht wird (im DTor der Manager-Klasse)<br />
b) In der Boost Bibliothek gibt es afaik Pointer-Versionen der STL-Container, die beim Löschen ihre Elemente delete'n</p>
</blockquote>
<p>Wie sähe dass denn bei meinem Bsp. aus? Wenn die Klasse nur statische Methoden enthält und der Vector auch statisch ist, wird ja kein Konstruktor benötigt und somit auch kein Destruktor gerufen, oder?<br />
Bei rein statischen Klassen wird der private Destruktor doch nie gerufen, oder ist das in C++ anders?<br />
Blieben dann der Singleton-Ansatz oder ein Blick in die boost-Geschichten.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188311</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Thu, 07 Dec 2006 12:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 12:51:34 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class CLibraryLoader
{
    private:
      HMODULE _hmMod;
// und jede Menge weiteren Code, aber kein Copykonstruktor oder Assignmentoperator
</code></pre>
<p>Aber ob man dafür ne Klasse braucht...Hm ich weiß nit... <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="🙄"
    /></p>
<pre><code class="language-cpp">std::vector&lt;CLibraryLoader&gt; LibArray;
// Damit haste auch n STL-Vector dabei.
</code></pre>
</blockquote>
<p>Das Beispiel hat leider einen Fehler. Der Klasse fehlt ein Kopierkonstruktor und ein Zuweisungsoperator. Diese sind notwendig, da Du im Destruktor eine wesentliche Aufräumarbeit vornimmst.</p>
<p>Stell Dir vor, Du hast eine Instanz der Klasse und legst eine Kopie davon an. Dies passiert beispielsweise, wenn Du sie in den vector steckst oder kann sogar schon passieren, wenn Du den vector veränderst. Dann wird die Bibliothek nur ein mal geladen, aber mehrfach entladen.</p>
<pre><code class="language-cpp">{
  CLibraryLoader lib1(&quot;meineLib.dll&quot;); // hier wird geladen
  LibArray l;
  l.push_back(lib1);  // hier wird eine Kopie angelegt

} // hier wird sowohl lib1 als auch das Objekt aus dem vector gelöscht,
  // also 2 mal frei gegeben.
</code></pre>
<p>Die Lösung wäre, einen Zeiger auf einen Referenzzähler mitzuführen, die die Anzahl der Instanzen zählt. Dies geht am einfachsten über einen Smart-Pointer.</p>
<p>Tntnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188314</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Thu, 07 Dec 2006 12:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to Lauter Objekte oder STL Container on Thu, 07 Dec 2006 13:31:11 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9578">@tntnet</a>:<br />
Schlaues Kerlchen! Das war auch NUR demonstrativ! Das sollte KEINE ausgefeilte Klasse sein, natürlich fehlt da noch einiges... :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188345</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 07 Dec 2006 13:31:11 GMT</pubDate></item></channel></rss>