Poco SharedPtrインテリジェントポインタ処理配列方式
テキストリンク
Poco SharedPtrインテリジェントポインタは配列を処理する過程で、いくつかの問題に出会って、公式のドキュメントを参考にしてデバッグして、いつも間違いを報告して、ソースコードを見てから、やっと問題を発見して、多くの問題を発見して、ソースコードがある情況の下で、ソースコードを通じてすべて自分で解決することができて、公式のファイルは長い間更新していない原因かもしれません.これからもっとソースを見てほしいです.
上記の公式ドキュメントを使用して提供されたケースは、templateがデータ型を提供することを要求しているため、エラーです.
正しい処理方法は次のとおりです.
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);