tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
1592
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    netrobot netrobot ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Beiträge
    111
    1. wann wird smart pointer verwendet, ich brauche ein fehlprogramm ohne smart pointer, und eine korrektur mit smart pointer.

    2. wenn in C++ nur referenz zum einsatz kommt, wieso benutzt man immer noch pointer in C -style?
     

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    2. wenn in C++ nur referenz zum einsatz kommt, wieso benutzt man immer noch pointer in C -style?
    In c++ werden nicht ausschließlich nur Referenzen verwendet...

    Bsp.:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    class Complex{
     
            double real;
            double im;
     
            Bruch(double r, double i):real(r), im(i){}
     
    }

    Wenn du dir nun ein Objekt mittels

    Code :
    1
    
    Complex c(1.5, 2);
    beschaffst ist das keine Referenz sondern ein Objekt, was auf dem Stack abgelegt wird...
    Dieses Objekt wird automatisch wieder gelöscht wenn der Gültigkeitsbereich verlassen wird,
    und es wird an Methoden immer per call by value übergeben solange die Methoden
    folgendermassen deklariert sind:

    Code :
    1
    
    Complex add(Complex c);

    Wenn du nun
    Code :
    1
    
    Complex result = c.add(c);
    sagst wird das Objekt c call by value übergeben
    (Der Copykonstruktor wird automatisch aufgerufen)

    Wenn du aber die Methode add folgendermaßen deklarierst
    Code :
    1
    
    Complex& add(Complex& c);
    Code :
    1
    
    Complex result = c.add(c);
    nun wird das Objekt c per call by reference übergeben

    Eine Referenz auf dem Heap auf ein Objekt kann in C++ ausschließlich nur über den
    Operator new erschaffen werden...

    Gruß

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

Ähnliche Themen

  1. Invalid Pointer Addition.. wo is denn da n pointer !
    Von GartenUmgraben im Forum Borland CBuilder und VCL
    Antworten: 3
    Letzter Beitrag: 29.07.06, 16:48
  2. Antworten: 4
    Letzter Beitrag: 07.07.06, 13:34
  3. Antworten: 1
    Letzter Beitrag: 22.12.05, 09:27
  4. Bitte um Hilfe,Pointer+Funktionen
    Von defSouLx im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 11.03.05, 08:18
  5. Antworten: 6
    Letzter Beitrag: 02.11.03, 21:23