Defaultkonstruktor der Basisklasse hat seltsames Verhalten



  • DeepCopy schrieb:

    Gut, da diese Antwort jetzt schon öfters vorgekommen ist, wie hoch schätzt du die Wahrscheinlichkeit ein, bei 2^31 Möglichkeiten immer wieder (beim Rebuild und Neustart) eine 0 (je nach Wetter und Wind) in deinen Daten-Membern zu erhalten, ein aktives BS vorausgesetzt.

    Es kann unmöglich "Zufall" sein, genauso wenig wie 10 mal 6 Richtige im Lotto hintereinander.

    Es hat auch niemand von Zufall gesprochen. Das warst du alleine. VC macht bei den Debug Builds, wenn keinen explizite Initialisierung statt findet eine 0 Initialisierung. Bei Release sind das dann zufällige Zahlen.



  • DeepCopy schrieb:

    Es kann unmöglich "Zufall" sein, genauso wenig wie 10 mal 6 Richtige im Lotto hintereinander.

    Du vergisst hier einen sehr entscheidenden Punkt: Nicht initialisierte Werte sind nicht zufällig, nicht einmal pseudo-zufällig. Sie entsprechen wichtigen Kriterien wie Gleichverteilung und geringe Korrelation voneinander nicht.

    Es spielt eine Rolle, was vorher an dieser Stelle im Speicher gestanden hat. Da 0 ein sehr oft vorkommender Wert ist (gerade bei Default-Initialisierung), beträgt die Wahrscheinlichkeit durchaus mehr als 2^-31.


  • Mod

    DeepCopy schrieb:

    Gut, da diese Antwort jetzt schon öfters vorgekommen ist, wie hoch schätzt du die Wahrscheinlichkeit ein, bei 2^31 Möglichkeiten immer wieder (beim Rebuild und Neustart) eine 0 in deinen Daten-Membern zu erhalten, ein aktives BS vorausgesetzt.

    Es kann unmöglich "Zufall" sein, genauso wenig wie 10 mal 6 Richtige im Lotto hintereinander.

    Stimmt, und damit beweist du nur, dass du nicht genau genug gelesen hast.
    Ich schreib es nochmal
    Wie kommst du darauf, dass der Wert 0 zwingend die Folge einer Initialisierung dieses Objektes ist?
    In einem üblichen Programm finden bereits vor Aufruf von main eine Menge Operationen statt. Sicherlich hinterlassen diese Operationen den Stack (in dem dann in main dein Objekte erstellt werden) nicht in einem völlig zufälligen Zustand?



  • Ihr seit aber verdammt schnell, ich hatte meinen Post noch gar nicht fertig geschrieben.

    Aber Ok: Ich weiß worauf Ihr hinaus wollt, das es durch aus sein kann das an betimmten Positionen im Speicher 0 initialisierungen Vorliegen können. Auf diese verweisen dann die Datenelemente der Klasse.

    Das habe ich mir auch schon so gedacht, aber dieses Verhalten lässt sich reproduzieren, und das macht mir Kopfzerbrechen.

    In erster Linie ging es mir auch um das Problem das Nexus mir mit den PODS vermittelt hat, und dieses Verhalten scheint mir mal gegeben zu sein und mal nicht.

    camper schrieb:

    Stimmt, und damit beweist du nur, dass du nicht genau genug gelesen hast.

    Da hast du recht, das hatte ich in der Tat, danke für deinen Hinweis, sorry falls es so aussah als wollte ich dich kritisieren.



  • Ich denke das Problem war tatsächlich der "Pseudo"-Zufällige Speicher, nach dem nochmaligen Eruieren des Outputs und unter Beachtung des bisherig erlerntem kann man fast mit Sicherheit sagen das es sich um das angesprochene Phänomen handelt.

    Ich bedanke mich bei Allen die zur Lösung beigetragen haben (besonders Nexus u. camper). 👍


Anmelden zum Antworten