О размере указателя на функцию-член класса [duplicate]

На этот вопрос уже есть ответ:

Указатели на представления членов 2 ответа

Допустим, у нас есть класс А

class A;

и эти typedefs

typedef void (A::*a_func_ptr)(void);
typedef void (*func_ptr)(void);

Мой вопрос - почему sizeof (a_func_ptr) возвращает 16, а sizeof (func_ptr) возвращает 4 (как для любого указателя в системе x86)?

Наприме

int main(int argc, char *argv[])
{
  int a = sizeof(a_func_ptr);
  int b = sizeof(func_ptr);
}

Ответы на вопрос(6)

Ваш ответ на вопрос