小编Ale*_*x G的帖子

关于类成员函数指针的sizeof

假设我们有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)

c++ pointers class sizeof member

10
推荐指数
1
解决办法
6052
查看次数

标签 统计

c++ ×1

class ×1

member ×1

pointers ×1

sizeof ×1