auto_ptr para matrizes

Em suma, estou querendo saber se existe um tipo auto_ptr para matrizes. Eu sei que eu poderia fazer o meu próprio, só estou me certificando de que já não exista algo lá fora.

Eu sei sobre vetores também. no entanto, não acho que posso usá-los. Eu estou usando vários dos APIs / SDKs do Windows, como o Windows Media SDK, Direct Show API, que, a fim de recuperar algumas estruturas para chamar uma função que leva um ponteiro e um tamanho duas vezes. A primeira vez que passa NULL como o ponteiro para recuperar o tamanho da estrutura que eu tenho que alocar para receber os dados que estou procurando. Por exemplo:

<code>CComQIPtr<IWMMediaProps> pProps(m_pStreamConfig);
DWORD cbType = 0;
WM_MEDIA_TYPE *pType = NULL;

hr = pProps->GetMediaType(NULL, &cbType);
CHECK_HR(hr);

pType = (WM_MEDIA_TYPE*)new BYTE[cbType];   // Would like to use auto_ptr instread
hr = pProps->GetMediaType(pType, &cbType);
CHECK_HR(hr);

// ... do some stuff

delete[] pType;
</code>

Como o cbType normalmente volta maior que sizeof (WM_MEDIA_TYPE) devido ao fato de que possui um ponteiro para outra estrutura, não posso simplesmente alocar objetos WM_MEDIA_TYPE. Existe algo assim lá fora?

questionAnswers(4)

yourAnswerToTheQuestion