Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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