std::unique_ptr<T,Deleter>::get
From cppreference.com
< cpp | memory | unique ptr
pointer get() const noexcept; |
(since C++11) (constexpr since C++23) |
|
Returns a pointer to the managed object or nullptr if no object is owned.
Parameters
(none)
Return value
Pointer to the managed object or nullptr if no object is owned.
Example
Run this code
#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'; }
Output:
Res::Res("Hello, world!"); Res { s = "Hello, world!"; } Res::~Res();
See also
returns a pointer to the managed object and releases the ownership (public member function) |