ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1592
1592
EMPFEHLEN
-
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?
-
In c++ werden nicht ausschließlich nur Referenzen verwendet...2. wenn in C++ nur referenz zum einsatz kommt, wieso benutzt man immer noch pointer in C -style?
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
beschaffst ist das keine Referenz sondern ein Objekt, was auf dem Stack abgelegt wird...Code :1
Complex c(1.5, 2);
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
sagst wird das Objekt c call by value übergebenCode :1
Complex result = c.add(c);
(Der Copykonstruktor wird automatisch aufgerufen)
Wenn du aber die Methode add folgendermaßen deklarierst
Code :1
Complex& add(Complex& c);
nun wird das Objekt c per call by reference übergebenCode :1
Complex result = c.add(c);
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
-
Invalid Pointer Addition.. wo is denn da n pointer !
Von GartenUmgraben im Forum Borland CBuilder und VCLAntworten: 3Letzter Beitrag: 29.07.06, 16:48 -
[C] Prüfen, ob Inhalt von Pointer auf Pointer existiert
Von mc_gulasch im Forum C/C++Antworten: 4Letzter Beitrag: 07.07.06, 13:34 -
Aus Zwei Pointer Arrays mache ein Pointer Array
Von janosch im Forum C/C++Antworten: 1Letzter Beitrag: 22.12.05, 09:27 -
Bitte um Hilfe,Pointer+Funktionen
Von defSouLx im Forum C/C++Antworten: 7Letzter Beitrag: 11.03.05, 08:18 -
[C++] Objekt Pointer zuweisen und Methoden auf Pointer realisieren?
Von Ezzz im Forum C/C++Antworten: 6Letzter Beitrag: 02.11.03, 21:23





Zitieren
Login






