Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » smartpointer

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.02.2004, 17:30 Uhr
~contraJava
Gast


Hi,
ich habe mit großem Interesse den Artikel von Virtual zum Thema smartPointer gelesen und sein Template mal ausprobiert. Nun habe ich folgende Frage:
Ich benutze den smartPointer im Zusammenhank mit einem Vektor in dem ich viele Instanzen bzw. Zeiger auf Instanzen Speicher. Wann wird der Speicher nun wieder Automatisch freigeben wie kann ich das Testen und wie kann ich das eventuell selber beeinflussen?

C++:

#include "stdafx.h"
#include "SMARTPTR.h"
#include <vector>
using std::vector;
#include <stdlib.h>

class Beispiel
{
public:
    Beispiel(int wh)
    {
        zahl = wh;
    }
  
    int getZahl()
    {
        return zahl;
    }
private:
     int zahl;
};



int main(int argc, char* argv[])
{
    
    vector<smart_ptr<Beispiel> > myBeispiel;
    
    for(int i=0;i<10;i++)
    {
        myBeispiel.push_back(new Beispiel(i));
    }

    for(i=0;i<10;i++)
    {
        printf("%i",myBeispiel[i]->getZahl());
    }

    return 0;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.02.2004, 18:07 Uhr
virtual
Sexiest Bit alive
(Operator)


Wann der Speicher fereigeben wird kannst Du einfach dadurch testen, indem Du mal einen Destructor schreibst, etwa so:

C++:
Beispiel::¨Beispiel() { std::cerr << "Beispiel Object an Adresse "<<this<<" freigegeben."<<std::endl; }


ggf einen analoge Ausgabe in dem/n Constructor/en.

Speziell in Deinem Beispiel wird der Speicher ja erst freigegeben, wenn Du main verläßt, In komplexerten Anwendungsfällen eben dann, wenn Du die letzte Referenz auf die Objekte freigibst.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: