Avatar ·

Wie man unique_ptr korrekt an einen Konstruktor oder eine Funktion übergibt

Hallo! Ich habe vor kurzem angefangen, C++11 zu lernen und versuche, mich mit Smart Pointern, insbesondere std::unique_ptr, vertraut zu machen. Ich habe gelesen, dass sie helfen, Speicher automatisch zu verwalten und kein delete erfordern. Aber ich habe ein Problem: Ich verstehe nicht, wie man unique_ptr korrekt an Funktionen und Konstruktoren übergibt. Hier ist eine einfache Klasse, die ich geschrieben habe: ```cpp #include #include class MyClass { public: MyClass(std::unique_ptr ptr) : data(std::move(ptr)) { std::cout << "Created with value: " << *data << std::endl; } private: std::unique_ptr data; }; void processData(std::unique_ptr ptr) { std::cout << "Processing: " << *ptr << std::endl; } int main() { auto p = std::make_unique(42); // Wie übergibt man p an den Konstruktor