如果我想创建一个智能指针,以结构我这样做:shared_ptr的使用模板
struct A
{
int value;
};
typedef boost::shared_ptr<A> A_Ptr;
所以,我可以写:
A_Ptr pA0(new A);
pA0->value = 123;
但是,如果我有一个模板结构这样的:
template<typename T>
struct B
{
T value;
};
我想写如下:
B_Ptr<char> pB0(new B<char>);
pB0->value = 'w';
那么,我该如何声明B_Ptr?
这是过度复杂化一个简单的答案的好办法。 – 2009-11-10 19:07:13
@Martin:怎么样?他对这个问题的措词很模糊,我不相信他在寻找一个固定的类型,而我的回答在他不是的情况下是一个合理的解决方案。 – fbrereto 2009-11-10 19:30:51
或者:'template struct T_Ptr {typedef boost :: shared_ptr > type; }; T_Ptr :: type x;' –
UncleBens
2009-11-10 19:49:10