auto_ptr для массивов

Короче говоря, мне интересно, существует ли тип auto_ptr для массивов. Я знаю, что могу кататься самостоятельно, я просто проверяю, что там уже ничего нет.

Я знаю и о векторах. однако я не думаю, что смогу их использовать. Я использую несколько API / SDK для Windows, таких как Windows Media SDK, Direct Show API, которые для возврата некоторых структур вызывают функцию, которая принимает указатель и размер дважды. Первый раз, когда в качестве указателя возвращается NULL, чтобы вернуть размер структуры, которую я должен выделить для получения данных, которые я ищу. Например:

<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>

Поскольку cbType обычно возвращается больше, чем sizeof (WM_MEDIA_TYPE), поскольку в нем есть указатель на другую структуру, я не могу просто выделить объекты WM_MEDIA_TYPE. Есть ли что-нибудь подобное?

Ответы на вопрос(4)

Ваш ответ на вопрос