何时使用功能参考,例如
void (&fr)() = foo;
fr();
而不是诸如
void (*fp)() = &foo;
fp();
有函数指针不能执行但函数引用可以做到的事情吗?
定义引用时:
void (&fr)() = foo;
fr();
它使您能够在fr
几乎所有可能使用的地方使用foo
,这就是为什么:
fr();
(*fr)();
与foo
直接使用完全相同的方法:
foo();
(*foo)();
另一个区别是,取消引用函数引用不会导致错误,因为函数指针不需要取消引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句