Si je veux créer un pointeur intelligent struct-je faire:shared_ptr avec des modèles
struct A
{
int value;
};
typedef boost::shared_ptr<A> A_Ptr;
Alors, je peux écrire ce qui suit:
A_Ptr pA0(new A);
pA0->value = 123;
Mais, si j'ai un struct modèle comme ça:
template<typename T>
struct B
{
T value;
};
Et je veux écrire ce qui suit:
B_Ptr<char> pB0(new B<char>);
pB0->value = 'w';
Alors, Comment dois-je déclarer le B_Ptr?
C'est une bonne façon de trop compliquer une réponse simple. –
@Martin: Comment ça? Sa formulation de la question est assez vague pour que je ne sois pas convaincu qu'il cherchait un type fixe, et ma réponse est une solution raisonnable dans le cas contraire. – fbrereto
Ou peut-être: 'template structure T_Ptr {typedef boost :: shared_ptr > type; } T_Ptr :: type x; ' –
UncleBens