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); 原文:http://blog.csdn.net/leos_blog/article/details/44561473