<?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[Nicht lokale statische Variablen und ihre Konflikte]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich beschäftige mich momentan mit den Grundlagen der C++ Programmiersprache und habe gelesen, dass die Initialisierung von nicht lokalen statischen Variablen nicht deterministisch ist. Dazu habe ich folgende Lösung gefunden:<br />
<a href="http://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_N%C3%BCtzliches/_Lebensdauer_und_Sichtbarkeit_von_Objekten#Probleme_mit_der_Initialisierung" rel="nofollow">http://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_N%C3%BCtzliches/_Lebensdauer_und_Sichtbarkeit_von_Objekten#Probleme_mit_der_Initialisierung</a></p>
<p>Eigentlich habe ich die Lösung verstanden, mir ist aber nicht klar wieso die Definition</p>
<pre><code class="language-cpp">B&amp; b(){
    static B _b(5); // Initialisierung beim ersten Aufruf
    return _b;
}
</code></pre>
<p>in der file1.cpp steht und die Deklaration in der file2.cpp steht.</p>
<pre><code class="language-cpp">B&amp; b(); // Deklaration der Funktion b
</code></pre>
<p>Habt ihr vielleicht eine Idee dazu?</p>
<p>Viele Grüße,<br />
gallagher</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/291044/nicht-lokale-statische-variablen-und-ihre-konflikte</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 23:23:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/291044.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Aug 2011 18:59:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nicht lokale statische Variablen und ihre Konflikte on Tue, 09 Aug 2011 18:59:45 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich beschäftige mich momentan mit den Grundlagen der C++ Programmiersprache und habe gelesen, dass die Initialisierung von nicht lokalen statischen Variablen nicht deterministisch ist. Dazu habe ich folgende Lösung gefunden:<br />
<a href="http://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_N%C3%BCtzliches/_Lebensdauer_und_Sichtbarkeit_von_Objekten#Probleme_mit_der_Initialisierung" rel="nofollow">http://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_N%C3%BCtzliches/_Lebensdauer_und_Sichtbarkeit_von_Objekten#Probleme_mit_der_Initialisierung</a></p>
<p>Eigentlich habe ich die Lösung verstanden, mir ist aber nicht klar wieso die Definition</p>
<pre><code class="language-cpp">B&amp; b(){
    static B _b(5); // Initialisierung beim ersten Aufruf
    return _b;
}
</code></pre>
<p>in der file1.cpp steht und die Deklaration in der file2.cpp steht.</p>
<pre><code class="language-cpp">B&amp; b(); // Deklaration der Funktion b
</code></pre>
<p>Habt ihr vielleicht eine Idee dazu?</p>
<p>Viele Grüße,<br />
gallagher</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2104101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2104101</guid><dc:creator><![CDATA[gallagher]]></dc:creator><pubDate>Tue, 09 Aug 2011 18:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht lokale statische Variablen und ihre Konflikte on Tue, 09 Aug 2011 19:05:57 GMT]]></title><description><![CDATA[<p>Daß zu einem Objekt (nicht im OOP-Sinne) genau eine Definition existieren darf, sollte eigentlich klar sein. In diesem Fall hast du in der file1.cpp die Definition der Funktion b() und in allen anderen Dateien eine Forward-Deklaration auf diese Funktion (normalerweise macht man das nicht von Hand, sondern mit einem Header, der überall eingebunden wird).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2104107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2104107</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 09 Aug 2011 19:05:57 GMT</pubDate></item></channel></rss>