总之,我想知道是否有一个类似于数组的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