메모리풀 부분 보다가 의문이 든 코드인데


UCHAR* mFreePointer; //주소값을 가지고있다고 가정하고


UCHAR* ReturnPointer = mFreePointer;

mFreePointer = *reinterpret_cast<UCHAR**>(ReturnPointer);

이거 왜이렇게 하는거냐? 


mFreePointer  = reinterpret_cast<UCHAR*>(ReturnPointer); 이거랑 다를게 뭐야? 뭐하러 한번 참조하는걸까??