Igo*_*Oks 6 c++ static namespaces private
我有一个类有5个静态公共函数和1个静态私有函数(从一个公共函数调用).该类没有任何成员变量.在我看来,它应该是一个命名空间而不是一个类.但是如何处理私有功能呢?我更喜欢它不被每个命名空间用户访问,但命名空间中没有访问控制.
Joh*_*itb 13
我知道有两种方式
一种方法是不在头部内声明这些功能.它们只能放在实现文件中的未命名命名空间中.
实际上,您必须实现在实现文件中访问此私有函数的任何函数(不在标题中内联).
最好将它们放在不同的标题中,并包含它们.因此,它们的代码不会打扰您的接口标头.这也是怎么boost做的:
#include "detail/destroy.hpp"
namespace orbit {
void destroy() {
detail::destroy_planets();
detail::destroy_stars();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |