Hab ich hier eventuell etwas nicht berücksichtigt?
-
gurru schrieb:
Würde nicht auto_ptr aus der STL (memory) das selbe machen?
hier is es etwas doof, da der pointer keinen op[] hat.(Ansonsten is es natürlich ok, wenn man mit dem vergleicht, was der threadstarter benutzt
)
-
otze schrieb:
gurru schrieb:
Würde nicht auto_ptr aus der STL (memory) das selbe machen?
hier is es etwas doof, da der pointer keinen op[] hat.(Ansonsten is es natürlich ok, wenn man mit dem vergleicht, was der threadstarter benutzt
)Es wäre aber einfacher, die Klasse dann von auto_ptr abzuleiten, und dann darin den Operator[] zu definieren.
-
otze schrieb:
Ansonsten is es natürlich ok, wenn man mit dem vergleicht, was der threadstarter benutzt


das ist noch doofer, hier std::auto_ptr zu benutzen, als was threadstarter vorgeschlagt hat
Werf mal enen Blick in std::auto_ptr::~auto_ptr. Da findest zu sowas:~auto_ptr() { delete _M_ptr; }
Das nennt sich Undefined behaviour, da hier operator delete [] benutzt werden muss. Also bitte boost::scoped_array anstatt std::auto_ptr benutzen!!!
-
gurru schrieb:
Es wäre aber einfacher, die Klasse dann von auto_ptr abzuleiten, und dann darin den Operator[] zu definieren.

-
Es wäre aber einfacher, die Klasse dann von auto_ptr abzuleiten, und dann darin den Operator[] zu definieren.
Ja ne is klar...
-
ssm schrieb:
das ist noch doofer, hier std::auto_ptr zu benutzen, als was threadstarter vorgeschlagt hat

Werf mal enen Blick in std::auto_ptr::~auto_ptr. Da findest zu sowas:~auto_ptr() { delete _M_ptr; }OK, das hab ich übersehen. (Also vergessen)