【发布时间】:2017-01-21 22:35:07
【问题描述】:
我想简洁地声明一个命名空间本地的函数和变量,所以只有命名空间成员可以访问它们。
在 lua 中,我会使用“local”关键字来执行此操作(在文件/函数中)。在 C++ 中有什么相关的可能吗?
编辑
这是我的代码的伪 C++ 示例:
namespace wld {
const int wldDivis = 4;
void myFunc(){
// wldDivis constant used here
}
void myFunc2(){
// wldDivis also used here
}
}
// Somewhere later
wld::myFunc();
wld::myFunc2();
变量“wldDivis”只在命名空间 wld 中使用过。如果其他人可能会破坏我函数的内部工作,我如何将其本地化/“使其不可见”到外部命名空间 wld,作为“强制不透明”?命名空间是否适合?
IE 不能在命名空间之外访问?
【问题讨论】:
-
也许
static关键字就是你想要的,或者匿名命名空间 -
“命名空间本地”。没有这样的事情。无论如何,这将是无用的,因为命名空间是开放的。您始终可以将自己的函数添加到任何命名空间。
标签: c++ namespaces local