Libreria di memoria C ++ get_deleter
Descrizione
Restituisce un puntatore al deleter di proprietà di sp.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: get_deleter.
template <class D, class T>
  D* get_deleter (const shared_ptr<T>& sp) noexcept;C ++ 11
template <class D, class T>
  D* get_deleter (const shared_ptr<T>& sp) noexcept;Parametri
sp - È un puntatore condiviso.
Valore di ritorno
Restituisce un puntatore al deleter di proprietà di sp.
Eccezioni
noexcep - Non genera eccezioni.
Esempio
Nell'esempio seguente viene spiegato lo std :: get_deleter.
#include <iostream>
#include <memory>
struct D {
   void operator()(int* p) {
      std::cout << "[deleter called]\n";
      delete[] p;
   }
};
int main () {
   std::shared_ptr<int> foo (new int[10],D());
   int * bar = new int[20];
   (*std::get_deleter<D>(foo))(bar);
   return 0;
}Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
[deleter called]
[deleter called]