函数指针
既然函数指针不需要函数的调用
也就省去了调用的开销
那为什么不在调用的时候都用函数指针
上面是我的问题
我还有一个认识
其实说一个函数也是占用空间的
函数的各种状态的保存
和函数体内的变量是共用一个栈
所以说一个函数也是占用一定空间
[解决办法]
函数的指针只不过是得到了一个函数的入口地址。原来的函数该怎么执行,它也该那样执行。
主函数占不占空间?肯定占撒,那么一般函数肯定也占嘛
[解决办法]
好像是只有主函数占空间吧。这是在书上看的。
在需要那个函数,再去调用它。
[解决办法]
调用一个函数要在栈中分配一定的空间的嘛。
[解决办法]
用函数指针调用函数:
1、如果是全局的函数指针,那编译后都是在调用的地方用函数的入口地址代替(虚函数除外),跟其它形式的调用没有不同,至于实参和局部变量都还是要在栈上占用空间的,所以用函数指针与用普通调用是没有效率区别问题的。
2、如果是局部的函数指针,那编译后在调用函数的地方是未知的,因为局部函数指针在还没有运行到它所在的那个函数时它本身就还是未知的,所以在用局部函数指针调用函数时有个解引用的过程,效率就会慢一点,至于实参和局部变量都还是要在栈上占用空间的。