<?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[Frage zu Konstanten]]></title><description><![CDATA[<p>Gibt es irgendwelche zusätzlichen Vorteile von Konstanten, ausser das man diese nicht mehr verändern kann?<br />
Ich sehe manchmal in Funktionsköpfen das Wort &quot;const&quot; stehen. Ist das als Gedankenstütze das man den Wert nicht mehr verändert? Als Sicherheit für irgendwelche arten das Programm zu manipulieren? Warum kann man in Klassen keine Konstante definieren, oder doch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168444/frage-zu-konstanten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 11:04:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168444.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Dec 2006 11:11:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 11:11:21 GMT]]></title><description><![CDATA[<p>Gibt es irgendwelche zusätzlichen Vorteile von Konstanten, ausser das man diese nicht mehr verändern kann?<br />
Ich sehe manchmal in Funktionsköpfen das Wort &quot;const&quot; stehen. Ist das als Gedankenstütze das man den Wert nicht mehr verändert? Als Sicherheit für irgendwelche arten das Programm zu manipulieren? Warum kann man in Klassen keine Konstante definieren, oder doch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1196563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196563</guid><dc:creator><![CDATA[monsterbacke]]></dc:creator><pubDate>Fri, 22 Dec 2006 11:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 11:23:55 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Gibt es irgendwelche zusätzlichen Vorteile von Konstanten, ausser das man diese nicht mehr verändern kann?</p>
</blockquote>
<p>Nein, das ist der einzige Unterschied und genau der gewünschte Effekt.<br />
Einen kleinen Unterschied gibts aber intern : PODs die als const markiert werden, und ihren Wert auch zur Compiletime erhalten, sind zur Laufzeit nicht mehr als echte Variablen im Speicher vorhanden, sondern der Wert wurde vom Compiler schon in die jeweiligen Zugriffe eingesetzt (wenn der Compiler optimiert)</p>
<blockquote>
<p>Ich sehe manchmal in Funktionsköpfen das Wort &quot;const&quot; stehen. Ist das als Gedankenstütze das man den Wert nicht mehr verändert?</p>
</blockquote>
<p>In erster Linie hilft es dem Compiler, um zu verhindern das logisch unveränderlichen Werte verändert werden. Ohne const müßte das in der Doku stehen, und dann bräuchtest du wirklich eine Gedankenstütze <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>Warum kann man in Klassen keine Konstante definieren, oder doch?</p>
</blockquote>
<p>Klar geht das. Warum sollte es nicht gehen?</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1196573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196573</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 22 Dec 2006 11:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 12:08:43 GMT]]></title><description><![CDATA[<p>@Konstanten in Klassen.</p>
<p>Ich bekomme aber keine Konstante definiert im private Bereich. Wie müsste denn das aussehen damit es geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1196613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196613</guid><dc:creator><![CDATA[monsterbacke]]></dc:creator><pubDate>Fri, 22 Dec 2006 12:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 12:12:10 GMT]]></title><description><![CDATA[<p>Entweder als static, wenn die Konstante für die gesamte Klasse gelten soll, oder in der Initialisierungsliste des jeweiligen Ctor's:</p>
<pre><code class="language-cpp">class test
{
  const int m_size;
public:
  test(int size) : m_size(size) {}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1196616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196616</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Dec 2006 12:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 12:20:21 GMT]]></title><description><![CDATA[<p>Ich habe ungefähr 10 Konstanten.. momentan sind es einfache Variablen, da ich es bisher nicht als Konstanten hinbekam.</p>
<p>Der Code sieht etwas krass aus. Mhh, und wo wird da ein Wert festgelegt und wie mehrere? Vielleicht offensichtlich für andere, ich tu mich da gerade etwas schwer <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1196622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196622</guid><dc:creator><![CDATA[monsterbacke]]></dc:creator><pubDate>Fri, 22 Dec 2006 12:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 12:31:27 GMT]]></title><description><![CDATA[<p>Wenn diese Konstanten global für alle Elemente deiner Klasse gelten soll, definier' sie statisch:</p>
<pre><code class="language-cpp">class test
{
  static const int max_size;
  ...
};

const int test::max_size = 100;
</code></pre>
<p>(ansonsten siehe mein obiger Beitrag)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1196627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196627</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Dec 2006 12:31:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 12:37:39 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wo der Wert festgelegt wird, ist dir überlassen.<br />
Zuerstmal must du entscheiden, ob du pro Klasse eine Konstante haben willst, oder pro erstellter Instanz eine eigene Konstante.<br />
Für den ersten Fall must du wie schon gesagt static verwenden, kannst aber auch einfach den Wert initialisieren</p>
<pre><code class="language-cpp">class test
{
  static const int m_size = 10;
public:
  test() {};
};
</code></pre>
<p>Diese Konstante ist jetzt von Methoden der Klasse selber aus normal erreichebar, von außerbalb (wenn sie im public-Bereich wäre) per <em>test::m_size</em></p>
<p>Wenn du aber pro Instanz der KLasse eine eigene Konstante haben willst, must du wie CStoll gezeigt hat den Konstruktor benutzen.<br />
Dann kannst du eine Variable der Klasse test anlegen und ihr den konstanten Wert zuweisen :</p>
<pre><code class="language-cpp">test mytest(3);
</code></pre>
<p>Diese einzelne Instanz hat jetzt eine Konstante mit dem Wert 3.</p>
<p>/Edit : zu spät... blödes Telefon.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1196632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196632</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 22 Dec 2006 12:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Konstanten on Fri, 22 Dec 2006 13:34:55 GMT]]></title><description><![CDATA[<p>Wau, danke schön für die umfangreich erklärenden Worte! Damit kann ich was anfangen und versteh es sogar. <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/1196652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1196652</guid><dc:creator><![CDATA[monsterbacke]]></dc:creator><pubDate>Fri, 22 Dec 2006 13:34:55 GMT</pubDate></item></channel></rss>