auto_ptr
-
wie kann ich einem auto_ptr einen normalen zeiger zuweisen?
std::string onestring;
...const std::auto_ptrstd::string smartCharPtr(onestring.c_str());
...
funktioniert aber nicht.
-
hi!
Die Methode reset erlaubt die Zuweisung eines normalen Zeigers (der natürlich auf ein mit new erstelltes Objekt zeigen muss) an einen auto_ptr.quelle:
http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=auto_ptr#Answ
(HumeSikkins)cu
-
netrobot schrieb:
wie kann ich einem auto_ptr einen normalen zeiger zuweisen?
std::string onestring;
...const std::auto_ptrstd::string smartCharPtr(onestring.c_str());
...
funktioniert aber nicht.logisch, weil es keine automatisch konvertierung von const char* nach std::string* gibt. das hat aber nichts mit auto_ptr zu tun. korrigierbar ist das nur, wenn klar wird, was genau du eigentlich machen möchtest.
-
@netrobot
An sich würde man das so machen:std::auto_ptr<std::string> smartString( new std::string( onestring ));
A B E R !!
Für was willst du einen std::string denn überhaupt als pointer in einem auto_ptr<> speichern? Meiner Meinung nach gibt es immer einen besseren weg.MfG
// was rausgenommen.
-
Ehm, was hat denn std::string damit zu tun? Ist doch egal ob string, Feuerwehrauto oder Haus. auto_ptr macht dann Sinn, wenn es Sinn macht. Und auto_ptr macht in einigen Situationen Sinn. Z.B. in einer Factory... komfortabler gehts nicht.
-
Artchi schrieb:
Ehm, was hat denn std::string damit zu tun? Ist doch egal ob string, Feuerwehrauto oder Haus. auto_ptr macht dann Sinn, wenn es Sinn macht. Und auto_ptr macht in einigen Situationen Sinn. Z.B. in einer Factory... komfortabler gehts nicht.
die frage nach dem sinn wurde aber gar nicht gestellt.
-
camper schrieb:
Artchi schrieb:
Ehm, was hat denn std::string damit zu tun? Ist doch egal ob string, Feuerwehrauto oder Haus. auto_ptr macht dann Sinn, wenn es Sinn macht. Und auto_ptr macht in einigen Situationen Sinn. Z.B. in einer Factory... komfortabler gehts nicht.
die frage nach dem sinn wurde aber gar nicht gestellt.
Nicht?
Für was willst du einen std::string denn überhaupt als pointer in einem auto_ptr<> speichern?
-
1:0 für dich, ... aber jedenfalls wurde die frage nicht an dich gestellt