Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Rufen Sie deleter vom shared_ptr ab.
template<class D, class Ty>
D *get_deleter(const shared_ptr<Ty>& sp);
Parameter
D
Der Typ des deleter.Ty
Der Typ gesteuert vom freigegebenen Zeiger.Other
Der freigegebene Zeiger.
Hinweise
Die Vorlagenfunktion gibt einen Zeiger auf deleter des Typs D zurück, der dem Objekt shared_ptr Classsp gehört.Wenn sp kein deleter verfügt, oder wenn der deleter nicht vom Typ D-Funktionsrückgaben 0 ist.
Beispiel
// 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);
}
Anforderungen
Header: <memory>
Namespace: std