Мне необходимо узнать размер динамического массива в следующей строчке:
// Где-то ранее
CMappingView view;
///////////////////////////
MAC4ChartHeader* pChartsList = reinterpret_cast<MAC4ChartHeader*>(view.pChar() + sizeof(MAC4Header));
Для того, чтобы понимать это за view, то приведу структуру описания view.
class CMappingView
{
private:
PVOID pvAddress;
public:
CMappingView(): pvAddress(NULL) {}
CMappingView(PVOID pv): pvAddress(pv) {}
CMappingView(CMappingView& mv): pvAddress(mv.pvAddress) { mv.pvAddress = NULL; }
virtual ~CMappingView() { Close(); }
operator PVOID() { return pvAddress; }
char* pChar() { return static_cast<char*> (pvAddress); }
short* pShort() { return static_cast<short*> (pvAddress); }
int* pInt() { return static_cast<int*> (pvAddress); }
long* pLong() { return static_cast<long*> (pvAddress); }
bool Invalid() { return pvAddress == NULL; }
CMappingView& operator=(CMappingView& mv);
BOOL Init(PVOID pv);
BOOL Close();
};
MAC4ChartHeader* pChartsList - Это всего лишь динамический массив, к элементам которого потом идет обращение через индекс. В старой программе он определен так, как я указал выше. Мне просто надо знать сколько элементов следует выделить под этот массив, поэтому я прошу помочь разобраться в этой строке:
// Где-то ранее
CMappingView view;
///////////////////////////
MAC4ChartHeader* pChartsList = reinterpret_cast<MAC4ChartHeader*>(view.pChar() + sizeof(MAC4Header));
Сейчас я хочу сделать так:
MAC4ChartHeader* pChartsList = new MAC4ChartHeader[/*<размер массива>*/];
Заранее спасибо!