std::unique_ptr<T,Deleter>::get
From cppreference.com
< cpp | memory | unique ptr
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Memory management library
(exposition only*)
(C++11)
(C++23)
(C++11)
(C++17)
(C++11)
(C++11)
(C++20)
(C++20)
(C++17)
(C++11)
(C++17)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
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)
(C++11)
(C++11)
(C++17)
(C++20)
(C++17)
(C++11)
(C++11)
(C++11)
(until C++17*)
(C++11)
(C++17)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++11)
(C++20)
(C++11)
(C++11)
(C++20)
(C++26)
std::unique_ptr
unique_ptr::get
(C++14)(C++20)
(until C++20)(C++20)
(C++20)
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.
Contents
[edit] Parameters
(none)
[edit] Return value
Pointer to the managed object or nullptr if no object is owned.
[edit] 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();