Hilfe bei Pointern und Dynamischen Speicher



  • Vielen Dank habe es nun endlich verstanden 🙂



  • buu2188 schrieb:

    was ist ein

    char*
    

    dann? Ich dachte es wäre das selbe wie

    char[]
    

    Ich hab' mir wirklich Mühe gegeben. Hast du wenigstens versucht, mein Geschreibsel zu verstehen!???



  • Ja vielen Dank auch dafür nur war mich das nicht so ganz plausibel 😞



  • buu2188 schrieb:

    [...]das nicht so ganz plausibel 😞

    Ernsthaft, lies ein gutes Buch. Mir hat das sooo viel geholfen. Lies die Bücher von Scotti, dann eins von Struppi, dann bist du auf nem - ich sag mal - gutem Stand.

    Ernsthaft.



  • Eine andere Frage bin nun in diesem Kapitel meines Skriptes ...

    Für was macht man Zeiger auf eine Klasse bei der Erzeugung eines Objektes für die dynamische Speicherverwaltung ? ( Ist mir nicht so ganz plausibel )

    Mfg



  • Deine Frage ist so schwammig, das der Versuch einer Antwort unsinnig wäre. Was? Wie? Wo? Beispiel?



  • Für was macht man Zeiger auf eine Klasse bei der Erzeugung eines Objektes für die dynamische Speicherverwaltung ?

    Ich verstehe die Frage nicht, kannst du die bitte verständlich formulieren?

    Was ist ein "Zeiger auf eine Klasse"? Ein Zeiger zeigt auf Objekte (oder auf nichts).

    Und was ist ein Objekte "für die dynamische Speicherverwaltung"? Einen std::allocator meinst du damit nicht, oder?

    Ich schließe mich igivuatips Ratschlag an!



  • Kein Problem 🙂

    Text:
    Einzelne Objekte durch dynamische Allokation von Speicher.

    double* pD= new double; // Syntax eines Basistyps zum Vergleich
    // Erzeugung einzelner Objekte durch dynamische Allokation von Speicher
    CWayPoint* pWp1= new CWayPoint;
    CWayPoint* pWp2= new CWayPoint("Karlsruhe",8.4,40.017);
    // Verwendung von Objekten, die durch dynamische Allokation erzeugt worden sind
    pWp1->print();
    pWp2->print();
    

    Mein Übeltäter 😞

    CWayPoint* pWp1= new CWayPoint;
    

    Was bewirkt das?



  • Sagen wirs so: Solange du keinen trifftigen Grund hast auf den Heap zu allokieren: Allokiere auf den Stack!



  • buu2188 schrieb:

    CWayPoint* pWp1= new CWayPoint;
    

    Was bewirkt das?

    Initialisiert den Pointer to CWayPoint namens pWp1 mit dem Ergebnis einer Allokation von Speicher für ein Objekt des Typs CWayPoint durch new . new ruft den Standardkonstruktor CWayPoint::CWayPoint() für das neue Objekt auf.

    // Warum die Ungarische Notation blöd ist.
    //// Ist die eigentliche Frage "Wann dynamisch Speicher anfordern und wann besser nicht?"?


Anmelden zum Antworten