在函数内使用声明函数?

Nar*_*rek 1 c++ function function-declaration

可能重复:
函数内部是否有函数声明?

我知道在函数内部我们可以声明一个函数.有什么用?你能带一个简单的例子吗?

Pup*_*ppy 6

声明函数内部的函数几乎没有价值,除非您打算稍后定义它并且只将它用于该函数 - 即函数声明被封装.

int main() {
    void foo();
    foo();
}
void some_other_func() {
    foo(); // ERROR
}
void foo() {
}
Run Code Online (Sandbox Code Playgroud)

但就是这样.与触发最令人烦恼的解析相比,这是一个非常有限的好处.

  • 如果你实现`some_other_func()`在`foo()`实现之后,你仍然可以访问`foo()`,所以封装是非常假的. (3认同)