^ is the same as * in C++, and TImageSectionHeader is the same as IMAGE_SECTION_HEADER.
So what im trying to get, is a pointer of var that is a type of IMAGE_SECTION_HEADER.
What your saying is, pointer of var that is that is a type of PIMAGE_SECTION_HEADER.

Yes, but TSections is not defined as a single TImageSectionHeader, but as an array of TImageSectionHeader (of undefined length).

In C++, and array can be defined like this :

TImageSectionHeader array[10];

this defines an array of 10 TImageSectionHeader. The problem here is that we need to know how big the array is gonna be.
Since Delphi uses a dynamic array (of undefined length), we most likely need to do the same thing in C++.

A dynamic array in C++ is done like this :

TImageSectionHeader *array;

now, we can allocate memory for that array once we know how much elements we want (say we want 10) :