std::unique_ptr::get
Материал из cppreference.com
<tbody>
</tbody>
pointer get() const noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
Возвращает указатель на управляемый объект или nullptr, если нет объекта во владении.
Параметры
(нет)
Возвращаемое значение
Указатель на управляемый объект или nullptr, если нет объекта во владении.
Пример
Запустить этот код
#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{"Примет, мир!"});
Res *res = up.get();
std::cout << *res << '\n';
}
Вывод:
Res::Res("Привет, мир!");
Res { s = "Привет, мир!"; }
Res::~Res();
Смотрите также
| возвращает указатель на управляемый объект и освобождает владение (public функция-элемент) |