En bref, je me demande s'il existe un type de type auto_ptr pour les tableaux. Je sais que je pourrais créer le mien, mais je veux juste m'assurer qu'il n'existe pas déjà quelque chose.
Je connais également les vecteurs, mais je ne pense pas pouvoir les utiliser. J'utilise plusieurs API/SDK Windows tels que Windows Media SDK, Direct Show API qui, pour récupérer certaines structures, appellent une fonction qui prend un pointeur et une taille deux fois. La première fois, en passant NULL comme pointeur, je récupère la taille de la structure que je dois allouer afin de recevoir les données que je recherche. Par exemple :
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;
Puisque cbType revient généralement plus grand que sizeof(WM_MEDIA_TYPE) parce qu'il contient un pointeur vers une autre structure, je ne peux pas simplement allouer des objets WM_MEDIA_TYPE. Existe-t-il quelque chose de ce genre ?