std::unique_ptr::get
cppreference.com
<tbody>
</tbody>
pointer get() const noexcept; |
(since C++11) | |
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
코드 실행
#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";
}
friend std::ostream& operator<< (std::ostream& os, Res const& r) {
return os << "Res { s = " << 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) |