<?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[Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht?]]></title><description><![CDATA[<pre><code>// source.cpp

extern const int c = 5;
int v = 5;
</code></pre>
<pre><code>// source.h

extern const int c;
extern int v;
</code></pre>
<p>Bei der Header-Datei ist mir das klar, aber warum muss ich bei einer Konstanten (nur bei einer Konstanten) diese in der cpp-Datei als extern deklarieren, um sie woanders benutzen zu können? Es hat wahrscheinlich damit etwas zu tun, dass extern nur einmal definiert werden darf, aber irgendwie kann ich mir daraus immer noch keinen Reim machen.</p>
<p>Wäre dankbar für Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339580/warum-muss-ein-const-extern-sein-damit-man-es-auch-außerhalb-nutzen-kann-eine-quot-normale-quot-variable-aber-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 00:55:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339580.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Sep 2016 14:49:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Sun, 11 Sep 2016 21:33:39 GMT]]></title><description><![CDATA[<pre><code>// source.cpp

extern const int c = 5;
int v = 5;
</code></pre>
<pre><code>// source.h

extern const int c;
extern int v;
</code></pre>
<p>Bei der Header-Datei ist mir das klar, aber warum muss ich bei einer Konstanten (nur bei einer Konstanten) diese in der cpp-Datei als extern deklarieren, um sie woanders benutzen zu können? Es hat wahrscheinlich damit etwas zu tun, dass extern nur einmal definiert werden darf, aber irgendwie kann ich mir daraus immer noch keinen Reim machen.</p>
<p>Wäre dankbar für Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508201</guid><dc:creator><![CDATA[non]]></dc:creator><pubDate>Sun, 11 Sep 2016 21:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Sun, 11 Sep 2016 16:18:44 GMT]]></title><description><![CDATA[<p>Const ist in C++ so definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508209</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 11 Sep 2016 16:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Sun, 11 Sep 2016 16:18:47 GMT]]></title><description><![CDATA[<p>Inkludiert <code>source.cpp</code>  <code>source.h</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508210</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Sun, 11 Sep 2016 16:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Sun, 11 Sep 2016 21:30:55 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Const ist in C++ so definiert.</p>
</blockquote>
<p>Warum denn nur bei einer Konstanten? Soweit ich weiß, heißt extern lediglich &quot;wird woanders definiert&quot;. Allerdings definiere ich die Variable in der cpp-Datei.</p>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Inkludiert <code>source.cpp</code>  <code>source.h</code> ?</p>
</blockquote>
<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508246</guid><dc:creator><![CDATA[non]]></dc:creator><pubDate>Sun, 11 Sep 2016 21:30:55 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Sun, 11 Sep 2016 22:04:17 GMT]]></title><description><![CDATA[<p>Was soll das Geplapper? Es ist so definiert. Wenn es dir nicht passt nimm eine andere Sprache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508252</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 11 Sep 2016 22:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Mon, 12 Sep 2016 07:10:13 GMT]]></title><description><![CDATA[<p>non schrieb:</p>
<blockquote>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Inkludiert <code>source.cpp</code>  <code>source.h</code> ?</p>
</blockquote>
<p>Nein.</p>
</blockquote>
<p>Hab die Frage falsch verstanden.<br />
Ich wollte darauf hinaus, dass das Schlüsselwort <code>extern</code> in der Definition redundant ist, wenn eine Deklaration mit <code>extern</code> inkludiert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508278</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 12 Sep 2016 07:10:13 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Mon, 12 Sep 2016 07:11:49 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Was soll das Geplapper? Es ist so definiert. Wenn es dir nicht passt nimm eine andere Sprache.</p>
</blockquote>
<p>Im Gegensatz zu dir lerne ich die Sprache eben anständig. Das ist nicht &quot;einfach so definiert&quot; sondern const ist standardmäßig static und hat somit internal linkage. Das extern Keyword macht zwei Sachen: external linkage und falls globale Variable ist diese nicht mit einer Standardvariablen definiert. Wenn ich das extern nicht hinzufüge, dann hat die Konstante internal linkage und ist außerhalb der translation unit nicht sichtbar. Habe die Antwort nach einigem Suchen auf Stackoverflow dann doch gefunden. ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508279</guid><dc:creator><![CDATA[non]]></dc:creator><pubDate>Mon, 12 Sep 2016 07:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Warum muss ein const extern sein, damit man es auch außerhalb nutzen kann, eine &amp;quot;normale&amp;quot; Variable aber nicht? on Mon, 12 Sep 2016 07:12:59 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>non schrieb:</p>
<blockquote>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Inkludiert <code>source.cpp</code>  <code>source.h</code> ?</p>
</blockquote>
<p>Nein.</p>
</blockquote>
<p>Hab die Frage falsch verstanden.<br />
Ich wollte darauf hinaus, dass das Schlüsselwort <code>extern</code> in der Definition redundant ist, wenn eine Deklaration mit <code>extern</code> inkludiert ist.</p>
</blockquote>
<p>Hast Recht, damit wäre es auch rückwärtskompatibel zu C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2508280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2508280</guid><dc:creator><![CDATA[non]]></dc:creator><pubDate>Mon, 12 Sep 2016 07:12:59 GMT</pubDate></item></channel></rss>