If you read line 4 of the OP from right to left, skipping the parentheses, it would be something like:
x86Ptr is a variable;
x86Ptr is pointer variable;
x86Ptr is pointer variable to type T;
x86Ptr is pointer variable to type T that has been dereferenced;
To use it however x86Ptr need to be declared first, so:
1 2 3 4 5 6 7
template< typename T > inlinevoid xWrite( T val )
{
T* x86Ptr{};
*(x86Ptr) = val;
x86Ptr += sizeof(T);
}
However what does the last statement in the function - address of x86Ptr += sizeof(T)???