C++ 头文件中的静态函数

Pra*_*dav 1 c++ static header-files

我知道当我们使一个函数“静态”时,它的作用域是整个文件,也就是说,它可以在那个特定文件的任何地方使用,我们用它来将函数的作用域限制在一个特定的文件中。如果我们定义一个头文件,其中定义了一些函数,都是静态的,会发生什么?如果我们将该头文件包含在另一个文件中,我们是否能够访问这些函数?

Evg*_*Evg 6

当您包含标头时,预处理器将用 #include文件内容替换指令。之后,所有规则都static适用。也就是说,如果您将带有静态函数的头文件包含到某些编译单元(.cpp文件)中,则每个编译单元都将获得这些静态函数的私有副本,这些副本只能从该编译单元访问。