static_pointer_cast Function
Statische Umwandlung in den shared_ptr.
template <class Ty, class Other>
shared_ptr<Ty> static_pointer_cast(const shared_ptr<Other>& sp);
Parameter
Ty
Der Typ gesteuert vom zurückgegebenen freigegebener Zeiger.Other
Der Typ, der durch das Argument gesteuert wurde, wurden Zeiger frei.Other
Der freigegebene Zeiger des Arguments.
Hinweise
Die Vorlagenfunktion gibt ein leeres shared_ptr-Objekt zurück, wenn sp ein leeres shared_ptr-Objekt ist; andernfalls wird ein Objekt shared_ptr Class<Ty> zurück, das die Ressource besitzt, die von sp übergeordnet ist.Der Ausdruck muss static_cast<Ty*>(sp.get()) gültig sein.
Beispiel
// std_tr1__memory__static_pointer_cast.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
struct base
{
int val;
};
struct derived
: public base
{
};
int main()
{
std::shared_ptr<base> sp0(new derived);
std::shared_ptr<derived> sp1 =
std::static_pointer_cast<derived>(sp0);
sp0->val = 3;
std::cout << "sp1->val == " << sp1->val << std::endl;
return (0);
}
Anforderungen
Header: <memory>
Namespace: std