Studying C++
with some sources I often came to see this, I'm a bit confused about this part of example source code (game server, on packet delete part) :
auto opcode = **reinterpret_cast<uint16_t**>((static_cast<char*>(packet) + 0x1050));
auto ptr = (char*)(*(void**)(static_cast<char*>(packet) + 0x1034));
uint16_t raw = *(const uint16_t*)ptr, packetSize = raw & 0x7FFF;
Image (marked as red squares) :
What do the pointers in front of parentheses means ?
(*(void**)
,*(const uint16_t*)
What do the double pointers in front of casting functions ?
**reinterpret_cast<uint16_t**>