<?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[Wann zieht man Namensräume Klassen vor?]]></title><description><![CDATA[<p>Zum Beispiel bei Variablen von Kofigurationdateien, oder nicht?<br />
Sonst noch Ideen?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251149/wann-zieht-man-namensräume-klassen-vor</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 14:31:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251149.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Sep 2009 22:19:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Tue, 29 Sep 2009 22:19:37 GMT]]></title><description><![CDATA[<p>Zum Beispiel bei Variablen von Kofigurationdateien, oder nicht?<br />
Sonst noch Ideen?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786268</guid><dc:creator><![CDATA[unschluessig]]></dc:creator><pubDate>Tue, 29 Sep 2009 22:19:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Tue, 29 Sep 2009 22:42:12 GMT]]></title><description><![CDATA[<p>Ich nutze namespaces immer da wo sachen zusammengehören, aus denen sich jedoch keine Klassen ergeben. ZB wenn man Mathefunktionen oder Matheklassen hat die alle in einen Mathebereich gehören, oder aber Projektteile. Man soltle es aber mit Namespaces nicht übertreiben, gibt da einige Sachen im Netz da hat mans mit den namespaces in namespaces etwas sehr übertrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786272</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Tue, 29 Sep 2009 22:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Tue, 29 Sep 2009 22:48:19 GMT]]></title><description><![CDATA[<p>Wenn Funktionen keine gemeinsamen Daten haben, auf denen sie arbeiten, sind Klassen sinnlos -&gt; namespace<br />
Das beste Bsp. dort sind wohl - wie Xebov gesagt hat - mathematische Funktionen oder Konstanten.</p>
<p>Bei Konfigurationsdaten würde ich mich wahrscheinlich auch für namespace entscheiden - zumindest bisher hab ich noch keinen Fall gehabt, wo Konfigurationsdateien so komisch zusammengehangen haben, dass es eine Klasse gebraucht hätte...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786275</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 29 Sep 2009 22:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Tue, 29 Sep 2009 23:03:27 GMT]]></title><description><![CDATA[<p>Man zieht Namensräume nicht Klassen vor. Eine Klasse bewältigt EINE Aufgabe (pauschal gesagt), ein Namensraum umfasst mehrere Aufgaben. Die Frage ist höchstens, ab wann braucht man Klassen und wann kommt man nur mit freien Funktionen, welche womöglich ein paar statisch globale Variablen benötigen, aus.</p>
<p>Ich würde dann wohl sagen, wenn du kein Objekt brauchst, brauchst du auch keine Klasse.<br />
Dies möchte ich aber mit einer kleinen Bemerkung versehen: Auch wenn man nur ein Objekt benötigt, sollte man bereits zur Klasse greifen. Eine Klasse bietet nämlich viele angenehme Vorteile, wie zum Beispiel Konstruktoren und Destruktoren.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786277</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 29 Sep 2009 23:03:27 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Wed, 30 Sep 2009 16:42:20 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Ich würde dann wohl sagen, wenn du kein Objekt brauchst, brauchst du auch keine Klasse.</p>
</blockquote>
<p>Dazu vielleicht gleich zwei Ausnahmen, die eine davon ziemlich und die andere etwas weniger wichtig: Abstrakte Basisklassen und Template-Metafunktionen. <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>Aber grundsätzlich kommt man mit der Regel recht weit. Ich finde zum Beispiel eine Klasse voller <code>static</code> -Member recht unschön, dann macht man lieber ein Singleton.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786579</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 30 Sep 2009 16:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Wed, 30 Sep 2009 18:30:40 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Dravere schrieb:</p>
<blockquote>
<p>Ich würde dann wohl sagen, wenn du kein Objekt brauchst, brauchst du auch keine Klasse.</p>
</blockquote>
<p>Dazu vielleicht gleich zwei Ausnahmen, die eine davon ziemlich und die andere etwas weniger wichtig: Abstrakte Basisklassen und Template-Metafunktionen. <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>
</blockquote>
<p>Klassen != Objekte. Ein Objekt gibt es erst zur Laufzeit und die Basisklasse gehört ja dann zu dem Objekt, welches davon erbt.</p>
<p>Und templates sind ja auch keinen Klassen, sondern Familien von Klassen und ein Objekt braucht man trotzdem auch, wenn man noch so viel Metafunktionalität hat, da sonst einfach mal gar nichts passiert.</p>
<p>Somit braucht man auch in den beiden von dir genannten &quot;Ausnahmen&quot; Objekte. <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/1786620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786620</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 30 Sep 2009 18:30:40 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Wed, 30 Sep 2009 18:32:30 GMT]]></title><description><![CDATA[<p>unschluessig schrieb:</p>
<blockquote>
<p>Zum Beispiel bei Variablen von Kofigurationdateien</p>
</blockquote>
<p>Was sind Variablen einer Datei? Größe, Name...??? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786622</guid><dc:creator><![CDATA[huhuhuwuuuu]]></dc:creator><pubDate>Wed, 30 Sep 2009 18:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Wed, 30 Sep 2009 23:14:09 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Und templates sind ja auch keinen Klassen, sondern Familien von Klassen und ein Objekt braucht man trotzdem auch, wenn man noch so viel Metafunktionalität hat, da sonst einfach mal gar nichts passiert.</p>
</blockquote>
<p>Könnte sein, dass Nexus die Templatemetaprogrammierung gemeint hat. Und da erstellt man wirklich Klassen, ohne jemals ein Objekt davon anzulegen. Aber dort geht es halt einfach nicht anders und ist sowieso eher ein Spezialgebiet. In einer solchen Definition, kann man das wohl getrost ignorieren.</p>
<p>Kurz konkret, worum es geht:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
struct IsSInt
{
  enum { result = 0; }
};

template&lt;&gt;
struct IsSInt&lt;int&gt;
{
  enum { result = 1; }
};
</code></pre>
<p>Du wirst nie ein Objekt von <code>IsSInt</code> erstellen <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>,<br />
Wie drakon sagt, auch von der abstrakten Basisklasse wirst du indirekt ein Objekt erstellen. Wenn nicht, dann hast du eine Basisklasse, von welcher nicht geerbt wird, was mir ziemlich sinnlos erscheint <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>Ansonsten kann ich nur noch etwas sagen: Erbsenzähler! <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>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786703</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 30 Sep 2009 23:14:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Thu, 01 Oct 2009 15:40:24 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Könnte sein, dass Nexus die Templatemetaprogrammierung gemeint hat. Und da erstellt man wirklich Klassen, ohne jemals ein Objekt davon anzulegen. Aber dort geht es halt einfach nicht anders und ist sowieso eher ein Spezialgebiet. In einer solchen Definition, kann man das wohl getrost ignorieren.</p>
</blockquote>
<p>Ja, das meinte ich. Ich schrieb ja auch &quot;etwas weniger wichtig&quot;.</p>
<p>Dravere schrieb:</p>
<blockquote>
<p>Ansonsten kann ich nur noch etwas sagen: Erbsenzähler! <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>
</blockquote>
<p>Ich habe meinen Post hauptsächlich geschrieben, weil &quot;kein Objekt -&gt; keine Klasse&quot; sehr schnell irreführen kann, und nicht etwa, um dich zu verbessern oder so. Aber das weisst du wohl... <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/1786972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786972</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 01 Oct 2009 15:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wann zieht man Namensräume Klassen vor? on Thu, 01 Oct 2009 19:18:15 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Du wirst nie ein Objekt von <code>IsSInt</code> erstellen <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>Hmm. Man muss aber zumindest versuchen eine Instanz davon zu erstellen.</p>
<p>Man müsste jetzt aber recht genau über die Definitionen nachdenken, ob das schon reicht.. Aber ich denke, dass wir uns verstanden haben.. <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/1787064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1787064</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 01 Oct 2009 19:18:15 GMT</pubDate></item></channel></rss>