假设我们有A级
class A;
Run Code Online (Sandbox Code Playgroud)
和这些typedef
typedef void (A::*a_func_ptr)(void);
typedef void (*func_ptr)(void);
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么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);
}
Run Code Online (Sandbox Code Playgroud)