static_pointer_cast
Cast statique à 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 est contrôlé par l'argument shared du pointeur.Other
L'argument shared du pointeur.
Notes
La fonction de modèle retourne un objet vide shared_ptr si sp est un objet vide shared_ptr ; sinon retourne un objet shared_ptr, classe<Ty> propriétaire de la ressource qui appartient à 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: <mémoire>
Espace de noms : std