您的位置:首页 > 其它

Poco SharedPtr 智能指针处理数组方式

2015-03-23 11:43 344 查看
原文链接

Poco SharedPtr 智能指针处理数组过程中,遇到些问题,参考官方文档调试,总是报错,查看源码之后,终于发现了问题, 发现很多问题,在有源码的情况下,通过源码都可以自行解决,可能官方文档很久没有更新的缘故。 希望以后多多看源码

template <class C>
class ArrayReleasePolicy
{
public:
static void release(C* pObj)
/// Delete the object.
/// Note that pObj can be 0.
{
delete [] pObj;
}
};
char* pStr = new char[100];
SharedPtr<char, Poco::ReferenceCounter, ArrayReleasePolicy> p(pStr);


上述的使用官方文档提供的案例是错误的, 因为template 要求提供数据类型

template <class C>  class ArrayReleasePolicy


正确的处理方式应该是:

char* pStr = new char[100];
SharedPtr<char, Poco::ReferenceCounter, ArrayReleasePolicy<char>> p(pStr);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息