Klassen & Speicherverwaltung

  • Hallo Leute..
    Ich entwickle g'rad eine kleine Math-Library und frage mich Folgendes: Angenommen wir haben eine Klasse:

    Beim Instanzieren der Klasse 'Vector3' wird ja Speicher fuer alle Class-Members angefordert (also fuer Klassen- bzw. Objekt-Variablen und fuer die Methoden; stimmts?). Wenn ich nun mehrere Objekte vom Typ Vector3 anfordere, wird dann der Speicherplatz fuer die selben Methoden mehrmals angefordert? Also:

    Code
    operator+=() fuer Objekt 1 // = ein Speicherabschnitt
    operator+=() fuer Objekt 2 // = ein anderer Speicherabschnitt
    operator+=() fuer Objekt 3 // = wieder ein anderer Speicherabschnitt
    ...

    Oder wird nur einmal der Speicher fuer Methoden angefordert und immer wieder verwendet? Also:

    Code
    operator+=() fuer Objekt 1
    operator+=() fuer Objekt 2 => referenziert auf 'operator+=() fuer Objekt 1'
    operator+=() fuer Objekt 3 => referenziert auf 'operator+=() fuer Objekt 1'
    ...

    Ich hoffe, dass ich mein Problem (irgendwie) verstaendlich erklaert habe, wenn nicht bitte ruehren.

    Dank im Voraus fuer jede Hilfe..
    ciao..

  • Zitat von \LaTeX

    Oder wird nur einmal der Speicher fuer Methoden angefordert und immer wieder verwendet?


    Ja, die Methoden liegen nur einmal im Speicher. Für jede Klasse gibt es eine Tabelle mit Pointern zu ihren Methoden, die wird zur Auflösung der Aufrufe verwendet.

    *plantsch*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!