Poco SharedPtrインテリジェントポインタ処理配列方式


テキストリンク
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);