我知道,如果您想定义静态函数,那么在C++中首选命名空间,但是当您具有访问其他函数但其他函数应该是私有的函数时不应执行的操作可以被他人访问。如何声明/定义它?使用类不会很简单吗?还是必须仍然使用命名空间?C++ 11命名空间或具有私有变量的类
像这样:
class Test1
{
public:
static void Start()
{
if(1) // Some checks...
{
ProcessStart();
}
}
private:
static void ProcessStart()
{
if(!Initialized)
{
//Initialize
}
// Do other stuff
}
static bool Initialized;
};
bool Test1::Initialized = false;
如果需要在.h中正确定义函数,则可以在“public”命名空间中使用具有特殊名称的命名空间。通常这个名字空间被命名为'detail'。看一看libstdC++或者boost头文件以获得所有血腥细节的想法 – user3159253 2014-10-10 21:41:09
实际上,对于TU本地符号的“静态”弃用在C++ 11中被收回。 – Deduplicator 2014-10-10 22:10:46