std::unique_ptr::get_deleter
De cppreference.com
Deleter& get_deleter() noexcept;
|
(desde C++11) (constexpr since C++23) |
|
const Deleter& get_deleter() const noexcept;
|
(desde C++11) (constexpr since C++23) |
|
Devuelve el objeto eliminador que se usaría para la destrucción del objeto gestionado.
Parámetros
(Ninguno)
Valor de retorno
El objeto eliminador almacenado.
Ejemplo
Ejecuta este código
#include <iostream>
#include <memory>
struct Foo
{
Foo() { std::cout << "Foo...\n"; }
~Foo() { std::cout << "~Foo...\n"; }
};
struct D
{
void bar() { std::cout << "Llamar al eliminador D::bar()...\n"; }
void operator()(Foo* p) const
{
std::cout << "Llamar a delete para el objeto Foo...\n";
delete p;
}
};
int main()
{
std::unique_ptr<Foo, D> up(new Foo(), D());
D& del = up.get_deleter();
del.bar();
}
Salida:
Foo...
Llamar al eliminador D::bar()...
Llamar a delete para el objeto Foo...
~Foo...
Véase también
| Devuelve el eliminador del tipo especificado, si se posee. (plantilla de función) |