C 中的函数可以嵌套在函数中吗?
在 C 中,这个问题的答案取决于所使用语言的版本。
现代 C(C 11 和稍后)
是的,使用 lambda:
int main() { auto print_message = [](std::string message) { std::cout << message << "\n"; }; // Prints "Hello!" 10 times for (int i = 0; i < 10; i++) { print_message("Hello!"); } }
C 98 和 C 03
不,不是直接的。但是,您可以在本地类中使用静态函数作为解决方法:
int main() { struct X { static void a() {} void b() { a(); // can call static member function inside non-static function. } }; X::a(); // call the function from outside the class. X my_x; my_x.b(); // call the second function from outside the class. return 0; }
注意
在 C 98 和 C 03 中,使用本地类和静态函数模拟嵌套函数并不常见,可能会让其他开发人员感到困惑。
以上是C 函数可以嵌套在其他函数中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!