是否可以像在同一文件中使用单独的文件一样阻止对变量和函数的访问?就像在 javascript 中如何使用匿名函数一样。
最佳答案
您可以隐藏,因为静态函数或静态变量的声明可以跟在其隐藏的函数之后。使用宏,您可以在定义函数或变量后隐藏它。
static void foo () { /* ... */ }
static int g_hidden_from_foo;
static void bar () { /* can use foo() */ }
#define foo foo_is_now_private
/* effectively hides foo */
这可能会满足您的好奇心,但我不能说它很方便(或明智)。
如果您愿意使用编译器扩展,GCC 有 nested functions ,这或多或少类似于匿名函数。
关于c - 一个文件中可以有单独的 "namespace"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17055647/