C ++中静态函数(不是类成员)的用途是什么?

时间:2019-07-17 15:42:27

标签: c++ function c++11 static

所以,我正在读一本书,它的源代码只有一个cpp文件,没有类,还有很多静态函数。

经过一些搜索之后,我大部分都看到了有关静态成员函数的资料,我知道它们的作用,但没有提供任何答案。

我还发现了一些有关匿名名称空间和静态函数的知识,但并不太了解这一点。

那么,在那里有人可以为我提供一些关于静态非成员函数,它们的用途或为什么使用它们的见解吗?

2 个答案:

答案 0 :(得分:0)

静态自由函数的一种用法是防止在不同的翻译单元中重新声明该函数,从而导致链接错误。

答案 1 :(得分:0)

  

静态函数的用途是什么

静态函数或更笼统地说:具有内部链接的函数可用于封装函数,方法是防止从定义位置以外的其他翻译单元调用该函数。

它还有助于防止在不同翻译单元中定义和使用的函数之间的名称冲突。

  

我还发现了一些有关匿名名称空间和静态函数的信息

匿名名称空间是使用内部链接声明函数的另一种新方法。与关键字static不同,它们还允许使用内部链接定义类型。