<?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[Seltsames Verhalten bei simpler Zuweisung (BCB)]]></title><description><![CDATA[<p>Hallo,</p>
<p>seit kurzem beschäftigt mich ein Phänomen für das ich keine Erklärung habe.</p>
<p>In einer Datei habe ich eine globale Variable, die irgendwann auch einen Wert bekommt. Der Wert dieser soll nun an anderer Stelle im Projekt ganz simpel einer anderen Variable zugewiesen werden.</p>
<pre><code class="language-cpp">void Dummy::Foo(){
    int local;    
    local= global;    // hier geht's schief
    ...
}
</code></pre>
<p>Folgendes ist zu beobachten:</p>
<p>1. Die neudeklarierte (lokale) Variable hat schon während der Deklaration einen Wert(z.B 35)<br />
2. Nach Zuweisung des Wertes von der Globalen hat diese &quot;neue&quot; Variable dann immer noch den ursprünglichen Wert(i.d.F. 35)</p>
<p>Ich habe dieses Phänomen schon anderen gezeigt, denen das auch sehr spanisch vorkommt.<br />
Hat jemand hier sich schon mal mit einer ähnlichen Situation auseinandersetzen müssen?<br />
Und -noch wichtiger- wo liegt der Fehler?<br />
Und- noch viel wichtiger- wie kann ich diesen beseitigen?</p>
<p>Danke für konstruktive Beiträge</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/83138/seltsames-verhalten-bei-simpler-zuweisung-bcb</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 00:41:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83138.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Aug 2004 07:58:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 07:58:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>seit kurzem beschäftigt mich ein Phänomen für das ich keine Erklärung habe.</p>
<p>In einer Datei habe ich eine globale Variable, die irgendwann auch einen Wert bekommt. Der Wert dieser soll nun an anderer Stelle im Projekt ganz simpel einer anderen Variable zugewiesen werden.</p>
<pre><code class="language-cpp">void Dummy::Foo(){
    int local;    
    local= global;    // hier geht's schief
    ...
}
</code></pre>
<p>Folgendes ist zu beobachten:</p>
<p>1. Die neudeklarierte (lokale) Variable hat schon während der Deklaration einen Wert(z.B 35)<br />
2. Nach Zuweisung des Wertes von der Globalen hat diese &quot;neue&quot; Variable dann immer noch den ursprünglichen Wert(i.d.F. 35)</p>
<p>Ich habe dieses Phänomen schon anderen gezeigt, denen das auch sehr spanisch vorkommt.<br />
Hat jemand hier sich schon mal mit einer ähnlichen Situation auseinandersetzen müssen?<br />
Und -noch wichtiger- wo liegt der Fehler?<br />
Und- noch viel wichtiger- wie kann ich diesen beseitigen?</p>
<p>Danke für konstruktive Beiträge</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585125</guid><dc:creator><![CDATA[PosSeX]]></dc:creator><pubDate>Wed, 18 Aug 2004 07:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 08:05:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>was sagt der Debugger? Welchen Wert haben die beiden Variablen vor(!) und nach der Zuweisung?<br />
Stimmt der angezeigte Wert und Adresse der globalen Variable ausserhalb und innerhalb Deiner Funktion? Bist Du sicher, dass Du den Wert der globalen Variable nicht an anderer Stelle z.B. durch eine Bereichspberschreitung eines Arrays überschreibst?</p>
<p>Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585129</guid><dc:creator><![CDATA[JoKo]]></dc:creator><pubDate>Wed, 18 Aug 2004 08:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 08:33:14 GMT]]></title><description><![CDATA[<p>Oh schon jemand der sich meldet...</p>
<p>also:</p>
<blockquote>
<p>Welchen Wert haben die beiden Variablen vor(!) und nach der Zuweisung?</p>
</blockquote>
<p>global hat den Wert 100;<br />
local hat <strong>vor und nach</strong> der Zuweisung den Wert 1539460</p>
<blockquote>
<p>Stimmt der angezeigte Wert und Adresse der globalen Variable ausserhalb und innerhalb Deiner Funktion?</p>
</blockquote>
<p>Tja, das ist auch seltsam. Der Wert stimmt überein, aber beim Versuch nur die Adresse zu übergeben zeigt der Debugger ???? an.</p>
<p>Aber warte mal...<br />
Die globale Variable ist eine Klasse und ich will auf Member-Variablen der Klasse zugreifen. Kann das sein, dass ich das dann entsprechend anders anpacken muss???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585143</guid><dc:creator><![CDATA[PosSeX]]></dc:creator><pubDate>Wed, 18 Aug 2004 08:33:14 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 08:40:24 GMT]]></title><description><![CDATA[<p>PosSeX schrieb:</p>
<blockquote>
<p>Die globale Variable ist eine Klasse und ich will auf Member-Variablen der Klasse zugreifen. Kann das sein, dass ich das dann entsprechend anders anpacken muss???</p>
</blockquote>
<p>Ja musst du.</p>
<p>In etwa so</p>
<pre><code class="language-cpp">int local = deineKLasse-&gt;getGlobal();
</code></pre>
<p>wobei getGlobal() int zurückgibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585146</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Wed, 18 Aug 2004 08:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 11:44:10 GMT]]></title><description><![CDATA[<p>PosSeX schrieb:</p>
<blockquote>
<p>[...]<br />
Die globale Variable ist eine Klasse [...]</p>
</blockquote>
<p><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="😕"
    /> Öhm, ist das jetzt eine Klasse oder eine Variable???<br />
Weil beides geht glaube ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585306</guid><dc:creator><![CDATA[Hoffmann_Till]]></dc:creator><pubDate>Wed, 18 Aug 2004 11:44:10 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 13:00:54 GMT]]></title><description><![CDATA[<p>na anständiger OOP ist das eine öffentliche Mitgliedsfunktion die den Inhalt einer privaten Variable (hier vom Typ Int) zurückliefert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585392</guid><dc:creator><![CDATA[FrankHof]]></dc:creator><pubDate>Wed, 18 Aug 2004 13:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 14:32:21 GMT]]></title><description><![CDATA[<p>Naja, ist halt ein Objekt welches global ist.<br />
Ich weiß, nicht schön und arbeite auch gerade daran das schöner hinzubiegen(Stichwort: Singleton)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1592">@PuppetMAster2k</a>:<br />
Soweit bin ich schon, dass ich deinen Vorschlag auch so hinbekommen hätte/habe, wenn es denn funzen würde. <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>
<p>@FrankHof:<br />
ich weiß... Klasse kommt nicht von mir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Und drin rumpfuschen will ich <em>vorerst</em> nicht.</p>
<p>Hofmann_Till schrieb:</p>
<blockquote>
<p>Weil beides geht glaube ich nicht.</p>
</blockquote>
<p>Erläuter mal...vielleicht bringt mich das näher ans Prob.</p>
<p>Danke</p>
<p>Es macht im Übrigen keinen Unterschied, ob es ein Objekt irgendeiner Klasse oder eine &quot;Variable&quot; eines Basistypen ist.</p>
<p>Ich kann es vielleicht noch detaillierter beschreiben:<br />
Bei versuchter Verwendung der Variablen/des Objektes <strong>außerhalb</strong> von Klassenfunktionen funktioniert alles reibungslos. Lediglich <strong>innerhalb</strong> gibt's Probleme. Der Compiler macht keine Zicken(auch keine Warnungen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585493</guid><dc:creator><![CDATA[PosSeX]]></dc:creator><pubDate>Wed, 18 Aug 2004 14:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 14:32:45 GMT]]></title><description><![CDATA[<p>allein schon dass das compiliert ohne errors und warnings ist komisch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585503</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 18 Aug 2004 14:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Wed, 18 Aug 2004 16:55:20 GMT]]></title><description><![CDATA[<p>Naja, eine Variable kann keine Klasse sein. Entweder global ist eine Klasse oder eine Variable oder global steckt in einer Klasse.</p>
<p>Sieht die Klasse so aus???</p>
<pre><code class="language-cpp">class Klasse
{
private:
public:
int global;
};
</code></pre>
<p>Und du sagst, du kannst von Extern auf die Variable zugreifen, aber nicht, wenn du eine Funktion/Prozedur in der Klasse schreibst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585658</guid><dc:creator><![CDATA[Hoffmann_Till]]></dc:creator><pubDate>Wed, 18 Aug 2004 16:55:20 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Thu, 19 Aug 2004 06:29:44 GMT]]></title><description><![CDATA[<p>PosSeX schrieb:</p>
<blockquote>
<p>[...]<br />
Die globale Variable ist eine Klasse [...]</p>
</blockquote>
<p>Wenn die Variable &quot;global&quot; eine Instanz einer Klasse ist, ist es unklar, was der Zuweisungs-Operator überhaupt bewirkt. Etwas mehr Informationen über die betreffende Klasse und die Definition von &quot;global&quot; könnten vielleicht hilfreich sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585968</guid><dc:creator><![CDATA[dschensky]]></dc:creator><pubDate>Thu, 19 Aug 2004 06:29:44 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Thu, 19 Aug 2004 07:31:24 GMT]]></title><description><![CDATA[<p>Ich zeig's noch mal auf:</p>
<p>In File1.cpp steht:</p>
<pre><code class="language-cpp">ClassX objX;    //ist in File1.hpp als extern ClassX objX deklariert;
...

AndereKlasse::AndereKlasse()
{
   objX.Attrib1=42;
   ...
}

...
</code></pre>
<p>in File2.cpp dann:</p>
<pre><code class="language-cpp">#include &quot;File1.hpp&quot;
...
GanzAndereKlasse::GanzAndereKlasse(...)
{
   int bla=objX.Attrib1;    // und hier kackt er rum (Attrib ist integer)
   ...
}
...
</code></pre>
<p>und hier noch mal ClassX.hpp</p>
<pre><code class="language-cpp">class ClassX
{
   public:
       int Attrib1;
       int Attrib2;
       ...
};
</code></pre>
<p>Kein operator=, oder sonst irgendwelche Sachen innerhalb ClassX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/586010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/586010</guid><dc:creator><![CDATA[PosSeX]]></dc:creator><pubDate>Thu, 19 Aug 2004 07:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Thu, 19 Aug 2004 13:57:05 GMT]]></title><description><![CDATA[<p>HI,<br />
mach doch objX als public in AndereKlasse und greife dann durch AndereKlasse.objX.Attrib1 darauf zu...</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
<p>PS: Den FAQ Artikel zu piblic Variablen kennst du schon, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/586413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/586413</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Thu, 19 Aug 2004 13:57:05 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Thu, 19 Aug 2004 14:17:28 GMT]]></title><description><![CDATA[<p>Ist ne Möglichkeit, hier allerdings etwas ungünstig.<br />
Ich benötige die <em>Attrib1 ... AttribN</em> in fast allen anderen Programmteilen(u.a. in Threads).</p>
<p><em>AndereKlasse</em> soll aber mit den anderen Teilen nichts zu tun haben(ist ne TForm).</p>
<p>Ich versuchs gerade mitm Singleton-Pattern...denke/hoffe das haut hin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/586434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/586434</guid><dc:creator><![CDATA[PosSeX]]></dc:creator><pubDate>Thu, 19 Aug 2004 14:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten bei simpler Zuweisung (BCB) on Fri, 20 Aug 2004 19:42:26 GMT]]></title><description><![CDATA[<p>PosSeX schrieb:</p>
<blockquote>
<p>in File2.cpp dann:</p>
<pre><code class="language-cpp">#include &quot;File1.hpp&quot;
...
GanzAndereKlasse::GanzAndereKlasse(...)
{
   int bla=objX.Attrib1;    // und hier kackt er rum (Attrib ist integer)
   ...
}
...
</code></pre>
</blockquote>
<p>Muss das da nicht #include &quot;File1.h&quot; heißen???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/587434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/587434</guid><dc:creator><![CDATA[Hoffmann_Till]]></dc:creator><pubDate>Fri, 20 Aug 2004 19:42:26 GMT</pubDate></item></channel></rss>