Jeśli chcę tworzyć inteligentne wskaźnik do struct to zrobić:shared_ptr z szablonami
struct A
{
int value;
};
typedef boost::shared_ptr<A> A_Ptr;
Tak, można napisać następujące:
A_Ptr pA0(new A);
pA0->value = 123;
Ale jeśli mam szablonu struct tak:
template<typename T>
struct B
{
T value;
};
I chcę napisać co następuje:
B_Ptr<char> pB0(new B<char>);
pB0->value = 'w';
Więc, jak powinienem zadeklarować B_Ptr?
To dobry sposób na skomplikować prostą odpowiedź. –
@Martin: Jak to zrobić? Jego sformułowanie pytania jest na tyle niejasne, że nie jestem przekonany, że szuka stałego typu, a moja odpowiedź jest rozsądnym rozwiązaniem w przypadku, gdy nie jest. – fbrereto
A może: 'template struct T_Ptr {typedef boost :: shared_ptr > type; }; T_Ptr :: type x; ' –
UncleBens