static_pointer_cast Function
Cast statique au shared_ptr.
template <class Ty, class Other>
shared_ptr<Ty> static_pointer_cast(const shared_ptr<Other>& sp);
Paramètres
Ty
Le type contrôlé par le pointeur partagé retourné.Other
Le type contrôlé par l'argument est partagé le pointeur.Other
L'argument est partagé le pointeur.
Notes
La fonction de modèle retourne un objet vide de shared_ptr si sp est un objet vide d' shared_ptr ; sinon retourne un objet de shared_ptr Class<Ty> qui possède la ressource qui est possédée par sp.l'expression static_cast<Ty*>(sp.get()) doit être valide.
Exemple
// 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);
}
Configuration requise
en-tête : <memory>
l'espace de noms : DST