Намного проще использовать объекты Gdiplus для изображений и растровых изображений по указателю.
Рассмотрите возможность использования массива указателей. Если вы не хотите явно помнить об освобождении массива, когда вы закончите, вы можете использовать умный указатель. В приведенном ниже примере кода я использую CAutoPtr.
#include <Windows.h>
#include <gdiplus.h>
#include <atlbase.h>
void HandleImages(HDC hdc)
{
typedef CAutoPtr<Gdiplus::Image> GdiplusImagePtr; // could be declared using CAutoPtr<Gdiplus::Bitmap>
GdiplusImagePtr something[2];
Gdiplus::Graphics g(hdc);
something[0].Attach(new Gdiplus::Bitmap(L"something.png"));
something[1].Attach(new Gdiplus::Bitmap(L"otherthing.png"));
for (int x = 0; x < ARRAYSIZE(something); x++)
{
g.DrawImage(something[x], 50*x, 0);
}
// CAutoPtr will call destructor for each item in something array
}