今天突然发现别的博主在取类成员函数地址的时候是这样写的:
printf("A::func():%p\n",&A::func);
当看到去函数地址利用取地址的方法感觉很疑惑,查阅了一些资料,发现在一般函数中,函数名我们一般认为就是函数的地址,编译器会将函数名通过隐式转换转化为指针的形式。而对于类成员函数的情况一般不会发生隐式转换,所以要利用去地址符,其它无法转换的情形目前还没碰到,碰到后会补充。
今天突然发现别的博主在取类成员函数地址的时候是这样写的:
printf("A::func():%p\n",&A::func);
当看到去函数地址利用取地址的方法感觉很疑惑,查阅了一些资料,发现在一般函数中,函数名我们一般认为就是函数的地址,编译器会将函数名通过隐式转换转化为指针的形式。而对于类成员函数的情况一般不会发生隐式转换,所以要利用去地址符,其它无法转换的情形目前还没碰到,碰到后会补充。