<?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[Include-Wächter-Namen]]></title><description><![CDATA[<p>Hallo</p>
<p>Sind die Namen der Include-Wächter der STD von C standardisiert?</p>
<p>MfG, EOutOfResources</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284980/include-wächter-namen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 15:15:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284980.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Apr 2011 11:09:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:09:52 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Sind die Namen der Include-Wächter der STD von C standardisiert?</p>
<p>MfG, EOutOfResources</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047967</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:09:52 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:13:23 GMT]]></title><description><![CDATA[<p>Fritz und Susi!<br />
Ne, nicht dass ich wüsste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047970</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:16:12 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Fritz und Susi!</p>
</blockquote>
<p>Kla!</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Ne, nicht dass ich wüsste.</p>
</blockquote>
<p>Wie wird dann überprüft, ob ein bestimmter Header schon geincluded (Partizip 1 von includen?) wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047972</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:21:11 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Wie wird dann überprüft, ob ein bestimmter Header schon geincluded (Partizip 1 von includen?) wurde?</p>
</blockquote>
<p>Man inkludiert ihn einfach und bei Bedarf springt der Include-Guard an (?)</p>
<p>PS: wenn du schon das deutsche Partizip bildest, dann bitte geinclude<strong>t</strong> und nicht so ein Mischmasch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047977</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:21:11 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:23:09 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p>Man inkludiert ihn einfach und bei Bedarf springt der Include-Guard an (?)</p>
</blockquote>
<p>Und wenn ich eine Funktion oder eine Klasse nur dann anbiete, wenn ein bestimmter Header geincludet wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047979</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:34:43 GMT]]></title><description><![CDATA[<p>Da gibt es mehrere übliche Vorgehensweisen:</p>
<ul>
<li>Die entsprechenden Funktonen in einen eigenen Header packen, welcher den abhängigen Header inkludiert und welchen der Nutzer nur bei Bedarf mit inkludiert. Sollten die Funktionen keine freien Funktionen sein, werden sie zu solchen gemacht.<br />
- oder -</li>
<li>Wenn der Nutzer die Funktionen möchte, muss er ein Makro wie <code>MEINE_LIB_USE_SPECIAL_FUNCTIONS</code> definieren bevor er einen Bibliotheksheader inkludiert, nur bei Existens dieses Makros wird der abhängige Header inkludiert und die Funktionen zur Verfügung gestellt</li>
</ul>
<p>Selbst wenn man die Namen der Inkludeguards wüsste, halte ich deinen Weg für schlecht. Ein zufällig inkludierter Header ändert dann plötzlich die Semantik des Programms bzw. es gibt keinen Bezug zwischen dem Header und der Bibliothek.<br />
Als Nutzer muss ich dann womöglich bei dem Include einen Kommentar schreiben, dass ich das nur wegen LibX mache, ansonsten wird der eventuell mal später entfernt, weil ich daraus nichts nutze. Wenn die Library den braucht, muss sie ihn selbst inkludieren, wenn es optional ist, muss ich diese Entscheidung explizit treffen können (üblicherweise mit den oben genannten Möglichkeiten). Alles andere ist sehr wenig intuitiv (ich erinnere mich an SeppJs Kommentar zur Benutzbarkeit deiner Bibliothek).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047986</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 11:42:36 GMT]]></title><description><![CDATA[<p>Die zweite Methode spricht mich mehr an.<br />
Vielen Dank <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/2047989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047989</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 11:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 15:42:36 GMT]]></title><description><![CDATA[<p>Kein Bibliotheksentwickler der Welt ist auf solche Scherze vorbereitet. Die Standardheader dürfen sich beliebig gegenseitig einbinden, und auch Drittbibliotheken ändern ihre Headerabhängigkeiten ohne Vorwarnung. Code, dessen Struktur davon abhängt, ob optionale Header eingebunden worden sind, wird von Compiler zu Compiler und Bibliotheksversion zu Bibliotheksversion unterschiedliche Ergebnisse liefern.</p>
<p>Dazu kommt, dass es ausgesprochen schlechter Stil ist, wenn</p>
<pre><code class="language-cpp">#include &quot;dein_header.hh&quot;
#include &lt;vector&gt;
</code></pre>
<p>sich anders verhält als</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &quot;dein_header.hh&quot;
</code></pre>
<p>Jetzt stell dir mal vor, dein Header wird von anderen Headern eingebunden. Der erste bindet ihn ohne die spezielle Funktion ein, der zweite verlässt sich darauf, dass sie vorhanden ist. Werden beide hintereinander eingebunden, geht der zweite (wenn er nach dem ersten eingebunden wurde) kaputt.</p>
<p>Wer soll denn da durchfinden?</p>
<p>Sofern es keinen IOC++CC gibt, von dem ich noch nichts gehört habe oder du für ein neues Buch von Jürgen Wolf (&quot;Programmierpraktik in C++&quot;?) recherchierst, halte ich das für ein XY-Problem. Was ist es, das du <em>wirklich</em> vorhast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048157</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 12 Apr 2011 15:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 15:49:32 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Die zweite Methode spricht mich mehr an.<br />
Vielen Dank <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>
</blockquote>
<p>Die zweite Methode ist aber ganz schlimmer Unfug</p>
<p>ipsec schrieb:</p>
<blockquote>
<p>PS: wenn du schon das deutsche Partizip bildest, dann bitte geinclude<strong>t</strong> und nicht so ein Mischmasch.</p>
</blockquote>
<p>Inkludifiziert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048159</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 12 Apr 2011 15:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:07:40 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Jürgen Wolf</p>
</blockquote>
<p>*würg*</p>
<p>seldon schrieb:</p>
<blockquote>
<p>Was ist es, das du <em>wirklich</em> vorhast?</p>
</blockquote>
<p>Einen (auf meinen Container spezifischen) Allokator anbieten, der die Speicherverwaltung von C unterstützt. Und den braucht man eben nur, wenn man zuvor mit <code>malloc</code> , <code>calloc</code> oder <code>realloc</code> gearbeitet hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048174</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:07:40 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:13:08 GMT]]></title><description><![CDATA[<p>Na dann hast du dir hoffentlich schon eine portable Methode herausgesucht, um zu unterscheiden, ob ein Pointer vom globalen ::operator new(), einer klassenspezifischen Überladung oder von malloc() reserviert wurde <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>Btw, &quot;die Speicherverwaltung von C unterstützt&quot; ist eine etwas vage Beschreibung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048176</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:15:45 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Na dann hast du dir hoffentlich schon eine portable Methode herausgesucht, um zu unterscheiden, ob ein Pointer vom globalen ::operator new(), einer klassenspezifischen Überladung oder von malloc() reserviert wurde <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>Der Allokator befreit nur was er auch selbst (oder eine andere Instanz mit der selben Methode) reserviert hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048178</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:17:10 GMT]]></title><description><![CDATA[<p>Und warum soll ich nich einfach <code>&quot;dein_allocator.h&quot;</code> inkludieren dürfen, wenn ich deinen Allokator will? Auch wenn ich <code>malloc</code> und Konsorten sonst vielleicht gar nicht brauche? Und wenn ich den Allokator nicht will, inkludiere ich die Datei eben nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048180</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:18:17 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Na dann hast du dir hoffentlich schon eine portable Methode herausgesucht, um zu unterscheiden, ob ein Pointer vom globalen ::operator new(), einer klassenspezifischen Überladung oder von malloc() reserviert wurde <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>Der Allokator befreit nur was er auch selbst reserviert hat.</p>
</blockquote>
<p>Dann brauchst du dich doch auch nicht darum kümmern, wie andere Leute ihren Speicher angefordert haben.<br />
(btw, nur wenn jemand die &lt;cstdlib&gt; eingebunden hat, heißt das noch lange nicht, daß er die malloc()-Familie verwendet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048182</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:19:51 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p>Und warum soll ich nich einfach <code>&quot;dein_allocator.h&quot;</code> inkludieren dürfen, wenn ich deinen Allokator will?</p>
</blockquote>
<p>Das darfst du ja. Wenn der Allokator aus <code>&quot;dein_allocator.h&quot;</code> eben nicht nur <code>new</code> und <code>new[]</code> unterstützen soll, dann schreibst du eben:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &quot;dein_allocator.h&quot;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2048186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048186</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:19:51 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:24:33 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Dann brauchst du dich doch auch nicht darum kümmern, wie andere Leute ihren Speicher angefordert haben.</p>
</blockquote>
<p>Aha! Du denkst, dass ich den Allokator als Template implentiert habe und dass der Nutzer die Methode als Klassenobjekt übergibt, oder?</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>nur wenn jemand die &lt;cstdlib&gt; eingebunden hat, heißt das noch lange nicht, daß er die malloc()-Familie verwendet</p>
</blockquote>
<p>Klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048191</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:24:33 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:29:45 GMT]]></title><description><![CDATA[<p>Du willst das Verhalten einer Klasse von übersetzungseinheitsspezifischen Details abhängig machen? Ich sehe Linkeralbträume voraus.</p>
<p>Was spricht dagegen, am Anfang des Allokatorheaders &lt;cstdlib&gt; einzubinden und die malloc-Variante unabhängig davon zu deklarieren, ob sie nachher benutzt wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048197</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:37:18 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Du willst das Verhalten einer Klasse von übersetzungseinheitsspezifischen Details abhängig machen?</p>
</blockquote>
<p>Was daran ist übersetzungseinheitsspezifisch?</p>
<p>seldon schrieb:</p>
<blockquote>
<p>Was spricht dagegen, am Anfang des Allokatorheaders &lt;cstdlib&gt; einzubinden und die malloc-Variante unabhängig davon zu deklarieren, ob sie nachher benutzt wird?</p>
</blockquote>
<p>Ja, direkt eigentlich nichts, aber ist das nicht ein schlechter Stil?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048200</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:37:18 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:39:02 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Dann brauchst du dich doch auch nicht darum kümmern, wie andere Leute ihren Speicher angefordert haben.</p>
</blockquote>
<p>Aha! Du denkst, dass ich den Allokator als Template implentiert habe und dass der Nutzer die Methode als Klassenobjekt übergibt, oder?</p>
</blockquote>
<p>Nicht unbedingt.<br />
Aber wenn du den Container schreibst, kannst du auch selber festlegen, wie er seinen Speicher anfordert - und die dazu passende Freigabefunktion verwenden. Da ist es egal, ob jemand anderes an anderer Stelle nun mit malloc(), new oder irgendwelchen systemspezifischen Funktionen seinen Speicher anfordert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048202</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:39:02 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:40:52 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Aber wenn du den Container schreibst, kannst du auch selber festlegen, wie er seinen Speicher anfordert</p>
</blockquote>
<p>Machen das nicht die Allokatoren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048203</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:40:52 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:53:11 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Aber wenn du den Container schreibst, kannst du auch selber festlegen, wie er seinen Speicher anfordert</p>
</blockquote>
<p>Machen das nicht die Allokatoren?</p>
</blockquote>
<p>Oder so - wichtig ist jedenfalls nur, daß die Speicherreservierung deines Allokators zu seiner eigenen Speicherfreigabe passt.</p>
<p>EOutOfResources schrieb:</p>
<blockquote>
<p>seldon schrieb:</p>
<blockquote>
<p>Du willst das Verhalten einer Klasse von übersetzungseinheitsspezifischen Details abhängig machen?</p>
</blockquote>
<p>Was daran ist übersetzungseinheitsspezifisch?</p>
</blockquote>
<p>Klasse 1 verwendet nur deinen Header -&gt; der Allokator nutzt new/delete.<br />
Klasse 2 bindet &lt;cstdlib&gt; und Klasse 2 ein -&gt; der Allokator verwendet malloc()/free()<br />
Wenn jetzt beide zusammen in einem Programm genutzt werden, hast du inkonsistentes Verhalten - und spätestens wenn Klasse 1 versucht einen Container zu zerstören, den Klasse 2 erzeugt hat, kracht es. (wenn das überhaupt durch den Linker kommt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048212</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:55:35 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>und spätestens wenn Klasse 1 versucht einen Container zu zerstören, den Klasse 2 erzeugt hat, kracht es. (wenn das überhaupt durch den Linker kommt)</p>
</blockquote>
<p>Der Allokator ist ein Template-Argument der Containers (wie bei der STD).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048214</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 16:58:31 GMT]]></title><description><![CDATA[<p>Du wirfst immer nur sinnlose fetzen hin die zusammen keinen Sinn ergeben.</p>
<p>Generell klingt die Idee absolut grottig, aber es ist schwer zu sagen weil du ja keinen Ton verraetst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048217</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 12 Apr 2011 16:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 17:00:43 GMT]]></title><description><![CDATA[<p>Ich glaube, so langsam habe ich den Überblick verloren, was du überhaupt vorhast. Kannst du nochmal den Teil ab &quot;der die Speicherverwaltung von C unterstützt&quot; erläutern?</p>
<p>(PS: Wenn ich mir deine letzten Threads so ansehe - du scheinst etwas zu kompliziert zu denken :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048218</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 17:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 17:12:17 GMT]]></title><description><![CDATA[<p>Mein eigener Container erwartet als zweites Template-Argument einen Allokator. Und ich implentiere zwei Standard-Allokatoren, <code>new</code> / <code>delete</code> und <code>malloc</code> / <code>free</code> . Es kann ein beliebiger Typ als Allokator an den Container übergeben werden (der die Bestimmungen erfüllt). Der Allokator, welcher <code>malloc</code> und <code>free</code> benutzt, ist natürlich nur benutzbar, wenn der Header <code>&lt;cstdlib&gt;</code> inkludiert wurde (logisch, oder?). Nun könnte ich folgende Schritte unternehmen:</p>
<ul>
<li>Der Allokator ist nur definiert, wenn <code>&lt;cstdlib&gt;</code> <strong>bereits</strong> inkludiert wurde (meine eigentliche Idee).</li>
<li>Der Allokator ist immer definiert, denn <code>&lt;cstdlib&gt;</code> wird im Allokator-Header inkludiert.</li>
<li>Der Allokator ist nur definiert, wenn ein bestimmtes Makro definiert ist (z.B. LIB_USE_MALLOC) und dann wird dann ggf <code>&lt;cstdlib&gt;</code> inkludieret.</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2048224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048224</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 12 Apr 2011 17:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Include-Wächter-Namen on Tue, 12 Apr 2011 17:19:03 GMT]]></title><description><![CDATA[<p>Ich wäre für Variante 2. Alternativ könntest du die Definition des malloc-Allokators auch in einen eigenen Header auslagern (inklusive des #include &lt;cstdlib&gt;), den der Nutzer bei Bedarf einbinden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2048231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2048231</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Apr 2011 17:19:03 GMT</pubDate></item></channel></rss>