Speicherung von Objekt



  • Hallo,

    Frage: Wo werden die Objekte von abgeleiteten Datentypen abgespeichert? Landet ein Objekt vom Typ Auto auf dem Stack, genauso wie ein Objekt vom Typ int auf dem Stack landet?

    Beispiel:

    #include<iostream>
    #include"auto.h"
    using namespace std;
    
    int main(){
    
    int i = 10;
    auto Peugeot(4.5,150);
    
    return 0;
    }
    

    Was versteckt sich nun hinter der Variable Peugeot? Ein Objekt mit all den dazugehörigen Feldern und Methoden, oder steckt hinter Peugeot eine Referenz, und die Felder und Methoden stehen irgendwo ganz anders.

    Vielen Dank für eure Tipps.

    Helmut Kohl



  • Keine Ahnung was du mit Feldern meinst, Methoden gehören eh nicht zu Objekten und auto ist ein Keyword. Aber ja, benutzerdefinierte Datentypen werden genau so wie built-in Typen behandelt.
    https://ideone.com/lYrl3X



  • Hallo Cooky

    Danke für die schnelle Antwort. Mit Felder meine ich (bzw. mein Buch) die Variablen einer Klasse.

    Wenn ich mir die Speicheradresse vom Objekt mittels this-pointer anzeigen lasse, kann man dann aufgrund der Adresse schliessen, ob das Objekt auf dem Heap oder auf dem Stack liegt? Ich vermute mal nicht, oder?

    Danke für die Antwort



  • Nein, jedenfalls nicht standardkonform.


Anmelden zum Antworten