c - 一个文件中可以有单独的 "namespace"吗?

标签 c namespaces

是否可以像在同一文件中使用单独的文件一样阻止对变量和函数的访问?就像在 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/

相关文章:

c - 在源文件中共享类型定义

将十六进制char数组转换为C中的u8数组

asp.net-mvc - 当我使用 ASP.Net 提供项目名称 'MvcApplication' 时,为什么会出现 CS0426 错误?

com - 为什么在 C++ 中的 Windows COM 编程中有这么多方法显式解析为全局命名空间?

C 循环跳转到链表开头

c - 数组中出现次数最少的数

c - K60 系列 GPIO 键盘(C 语言)

testing - 与内容重复的 kubernetes 命名空间

c++ - 当外部命名空间具有同名成员时访问未命名命名空间的成员

c++ - C++中的命名空间问题