std::unique_ptrEen unieke pointer die alleen eigendom heeft van het object dat hij beheert. Je kunt hem niet kopiëren, maar wel verplaatsen (move).
std::move() om eigendom te verplaatsen.std::make_unique.std::move() te gebruiken bij overdracht van eigenaarschap.new, gebruik std::make_unique..release() gebruikt, is de unique_pointer niet meer de eigenaar, en moet je het object zelf handmatig verwijderen met delete [obj] om een geheugenlek te voork#ifndef ANIMAL_H
#define ANIMAL_H
#include <string>
class Animal {
private:
std::string name;
public:
explicit Animal(const std::string& name);
void speak();
~Animal();
};
#endif // ANIMAL_H
#include "animal.h"
#include <iostream>
Animal::Animal(const std::string& name) : name(name) {}
void Animal::speak() { std::cout << name << " says hi!\\\\n"; }
Animal::~Animal() { std::cout << name << " is destroyed.\\\\n"; }