Pointer to Member Function Types

Pointer to member function objects have a layout equivalent to:

struct __mptr { __vptp f; ptrdiff_t d; };

where _vptp is the following union:

union { void (*f) (); int 0; }

The parameter f is the pointer to the member function if it is nonvirtual. The 0 is the offset to the virtual function pointer within the class object. The parameter d is the offset to be added to the beginning of the class object for this pointer.