auto_ptr para matrices

En resumen, me pregunto si existe un tipo de auto_ptr para los arreglos. Sé que podría rodar por mi cuenta, solo me estoy asegurando de que no haya algo ahí afuera.

También sé sobre los vectores. Sin embargo no creo que pueda usarlos. Estoy usando varias de las API / SDK de Windows, como el SDK de Windows Media, la API de presentación directa que permite recuperar algunas estructuras para llamar a una función que tiene un puntero y un tamaño dos veces. La primera vez que pasa NULL como puntero para recuperar el tamaño de la estructura que tengo que asignar para recibir los datos que estoy buscando. Por ejemplo:

<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 cbType normalmente vuelve más grande que sizeof (WM_MEDIA_TYPE) debido a que el hecho es que tiene un puntero a otra estructura en él, no puedo asignar objetos WM_MEDIA_TYPE. ¿Hay algo como esto por ahí?

Respuestas a la pregunta(4)

Su respuesta a la pregunta