Dan*_*iel 0 c++ header-files private-header
我有一个.cpp源文件,其中包含一些需要公开访问的函数和一些仅在此源文件中使用的支持函数.
我已经将所有这些函数声明放在头文件中,因为我个人觉得查看一个类在一个地方提供的所有内容很有用.但是,我想指出这些函数是否供内部使用,类似于private访问修饰符,但不使用类(它们是独立函数).
一些可能的解决方案:
这两种解决方案都将公共和私有函数分成了我想避免的单独文件.
如果这些功能不适合公共使用,则不应将其放入标题中.将它们放入它们使用的源文件中.
要完全隐藏这些函数不在源文件之外使用,通常会执行以下操作之一:
static.namespace.后者被认为是优选的.实际上,C++标准7.3.1.1规定:
在声明命名空间作用域中的对象时,不推荐使用static关键字,unnamed-namespace提供了一个更好的替代方法.
有关未命名的命名空间与静态的更多讨论,请参阅未命名/匿名命名空间与静态函数以及相应的comp.lang.c ++.主持线程.