Namespaces
Variants

std::unique_ptr<T,Deleter>:: get

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
pointer get ( ) const noexcept ;
(seit C++11)
(constexpr seit C++23)

Gibt einen Zeiger auf das verwaltete Objekt zurück oder nullptr falls kein Objekt besessen wird.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Zeiger auf das verwaltete Objekt oder nullptr falls kein Objekt besessen wird.

Beispiel

#include <iomanip>
#include <iostream>
#include <memory>
#include <string>
#include <utility>
class Res
{
    std::string s;
public:
    Res(std::string arg) : s{std::move(arg)}
    {
        std::cout << "Res::Res(" << std::quoted(s) << ");\n";
    }
    ~Res()
    {
        std::cout << "Res::~Res();\n";
    }
private:
    friend std::ostream& operator<<(std::ostream& os, Res const& r)
    {
        return os << "Res { s = " << std::quoted(r.s) << "; }";
    }
};
int main()
{
    std::unique_ptr<Res> up(new Res{"Hello, world!"});
    Res* res = up.get();
    std::cout << *res << '\n';
}

Ausgabe:

Res::Res("Hello, world!");
Res { s = "Hello, world!"; }
Res::~Res();

Siehe auch

gibt einen Zeiger auf das verwaltete Objekt zurück und gibt die Eigentümerschaft frei
(öffentliche Elementfunktion)