Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

get_deleter (Función)

 

Obtiene el delimitador de shared_ptr.

template<class D, class Ty>
    D *get_deleter(const shared_ptr<Ty>& sp);

D

Tipo del eliminador.

Ty

Tipo controlado por el puntero compartido.

Other

El puntero compartido.

La función de plantilla devuelve un puntero a eliminador de tipo D que pertenece a la shared_ptr (Clase) objeto sp. Si sp no tiene ningún eliminador o si su eliminador no es del tipo D la función devuelve 0.

Ejemplo

 

// std_tr1__memory__get_deleter.cpp 
// compile with: /EHsc 
#include <memory> 
#include <iostream> 

struct base 
    { 
    int val; 
    }; 

struct deleter 
    { 
    void operator()(base *p) 
        { 
        delete p; 
        } 
    }; 

int main() 
    { 
    std::shared_ptr<base> sp0(new base); 

    sp0->val = 3; 
    std::cout << "get_deleter(sp0) != 0 == " << std::boolalpha 
        << (std::get_deleter<deleter>(sp0) != 0) << std::endl; 

    std::shared_ptr<base> sp1(new base, deleter()); 

    sp0->val = 3; 
    std::cout << "get_deleter(sp1) != 0 == " << std::boolalpha 
        << (std::get_deleter<deleter>(sp1) != 0) << std::endl; 

    return (0); 
    } 

get_deleter(SP0)! = 0 == false get_deleter(sp1)! = 0 == true

Requisitos

Encabezado: <memory>

Espacio de nombres: std

Mostrar: