举个例子。我创建了一个名为 的函数指针s
,将其设置为f
并调用它。这当然编译得很好:
void f() {}
int main() {
void (*s)();
s = f;
s();
}
但是以下一个示例为例,我s
现在将其声明为“函数引用”(如果它被称为)并设置为f
内联。这也编译得很好:
void f() {}
int main() {
void (&s)() = f;
s();
}
这两种创建和初始化函数指针的方法有什么区别?请注意,当我使用引用语法时,我需要将其“内联”初始化为,f
而使用“指针”语法,我可以双向进行。你也能解释一下吗?有了这个,你能解释一下它们在可用性方面的区别是什么,我什么时候必须使用一种形式而不是另一种形式?