在类之外使用“静态”指令有什么可能的好处?

时间:2014-04-26 10:29:24

标签: c++ c++11 static

我一直在尝试使用函数库和命名空间。我注意到你可以在命名空间中声明一个函数static,尽管它不在类声明中:

HPP:

ANameSpace
{

    static void aFunc();

};

CPP:

ANameSpace
{

    static void aFunc()
    {
        std::cout<<"Static function called"<<std::endl;
    }

};

我理解static类成员的概念以及它们如何非常有用,但在类外使用static是否有任何特别的优势?

注意: 我投了最后一票来关闭这个问题(不能删除,因为有答案)因为引用引用为dup,虽然它的范围更广,包含对static的详细讨论。但我不确定它是否正好回答了我现在改写的问题。

1 个答案:

答案 0 :(得分:2)

static全局函数仅在文件范围内可见。这可能是由于C兼容性,这也是可能的。

This总结了静态的所有可能用途。