<?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[Zugriff auf static Variable über Zeiger]]></title><description><![CDATA[<p>Hi,</p>
<p>folgender code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int* x;

class test
{
 public:
 static void sth()
 {
  static int i=5;
  x = &amp;i;
 }
};

using namespace std;

int main()
{
    test::sth();
    cout &lt;&lt; *x&lt;&lt; endl;
    return 0;
}
</code></pre>
<p>kann ein sollcher code funktionieren, oder ist das Ergebniss nicht definiert.<br />
Ich hab gerade das Problem, dass ich in meinem Projekt einige Klassen zu einem Singelton umbauen möchte und bekomm Laufzeitfehler. Und ich vermute, das es eben an sollchen Konstruktionen wie oben liegt.</p>
<p>Muss ich dann den ganzen Code anpassen, so das auf das Objekt nicht mehr über Zeiger zugegriffen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203647/zugriff-auf-static-variable-über-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 18:15:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203647.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Jan 2008 19:21:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf static Variable über Zeiger on Thu, 24 Jan 2008 19:41:22 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>folgender code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int* x;

class test
{
 public:
 static void sth()
 {
  static int i=5;
  x = &amp;i;
 }
};

using namespace std;

int main()
{
    test::sth();
    cout &lt;&lt; *x&lt;&lt; endl;
    return 0;
}
</code></pre>
<p>kann ein sollcher code funktionieren, oder ist das Ergebniss nicht definiert.<br />
Ich hab gerade das Problem, dass ich in meinem Projekt einige Klassen zu einem Singelton umbauen möchte und bekomm Laufzeitfehler. Und ich vermute, das es eben an sollchen Konstruktionen wie oben liegt.</p>
<p>Muss ich dann den ganzen Code anpassen, so das auf das Objekt nicht mehr über Zeiger zugegriffen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443058</guid><dc:creator><![CDATA[walljumper]]></dc:creator><pubDate>Thu, 24 Jan 2008 19:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf static Variable über Zeiger on Thu, 24 Jan 2008 19:29:44 GMT]]></title><description><![CDATA[<p>Also deine Funktion test::sth() sollte halt mal public sein - sonst lässt sie sich nicht aufrufen.<br />
Damit x überhaupt auf i zeigt solltest du test::sth() außerdem ausführen - sonst dereferenzierst du einen Zeiger, der irgendwo hin zeigt.<br />
Eine Initialisierung des Zeigers mit 0/NULL und dann eine Überprüfung, ob er schon auf ein Objekt zeigt wäre uU sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443061</guid><dc:creator><![CDATA[Checker*amp*Murckser]]></dc:creator><pubDate>Thu, 24 Jan 2008 19:29:44 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf static Variable über Zeiger on Thu, 24 Jan 2008 19:42:53 GMT]]></title><description><![CDATA[<p>ok, dass hatte ich in dem beispiel jetzt vergessen. (Habs nachgetragen)</p>
<p>aber prinzipiell sollte sowas funktionieren?!</p>
<p>dann muss der fehler in meinem Programm wo anderes liegen.</p>
<p>thx schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443070</guid><dc:creator><![CDATA[walljumper]]></dc:creator><pubDate>Thu, 24 Jan 2008 19:42:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf static Variable über Zeiger on Thu, 24 Jan 2008 20:39:20 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>alles im grünen Bereich <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="😉"
    /> Dein Fehler muss woanders liegen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443120</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:39:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf static Variable über Zeiger on Thu, 24 Jan 2008 20:56:12 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>alles im grünen Bereich <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="😉"
    /> Dein Fehler muss woanders liegen ...</p>
</blockquote>
<p>er hat seine fehler schon bereinigt, vorhin waren noch welche drin <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/1443143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443143</guid><dc:creator><![CDATA[Checker*amp*Murckser]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:56:12 GMT</pubDate></item></channel></rss>