總之,我想知道是否有一個類似於數組的auto_ptr類型。我知道我可以推出自己的產品,我只是確保那裏沒有東西。陣列的auto_ptr
我也瞭解向量。但我不認爲我可以使用它們。我正在使用幾個Windows API/SDK,例如Windows Media SDK,Direct Show API,以便取回某些結構來調用一個函數,該函數需要兩次指針和一個大小。第一次傳遞NULL作爲指針,以獲取我必須分配的結構的大小,以便接收我正在查找的數據。例如:
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;
由於cbType通常來自比的sizeof(WM_MEDIA_TYPE)回更大由於這樣的事實是有一個指針指向在它的另一個結構中,我不能只分配WM_MEDIA_TYPE對象。有沒有這樣的事情?
是啊。矢量,而不是數組。 – 2009-06-25 16:15:42
確保載體是連續的內存塊嗎? – heavyd 2009-06-25 16:20:50