dru*_*sta 43 c++ coding-style api-design namespaces static-members
我发现自己不会有私人课程.如果可能的话,所有候选私有类函数,而不是我放入未命名的命名空间,并将所有必要的信息作为函数参数传递.我没有一个合理的解释,为什么我这样做,但至少它对我来说更自然.因此,我需要在头文件中公开更少的内部细节.
你有什么看法 - 这是正确的做法吗?
Jus*_*mer 18
在我经常工作的半大型项目中(超过200万行代码),如果可以的话,我会禁止私有类功能.原因是私有类函数是私有的,但它在头文件中可见.这意味着如果我以任何方式改变签名(或评论),我有时会得到一个完整的重新编译奖励,这需要几分钟(或几小时,具体取决于项目).
只是对此说不,并隐藏cpp文件中的私有内容.
如果我在一个大型的c ++项目上重新开始,我会强制执行PIMPL成语:http://c2.com/cgi/wiki ?PimplIdiom 将更多私有细节移动到cpp文件中.
小智 11
我过去做过这件事,而且总是很糟糕.您不能将类对象传递给函数,因为它们需要访问私有成员,可能是通过引用(或者您最终使用复杂的参数列表),因此您无法调用公共类方法.而且出于同样的原因,你无法调用虚函数.我坚信(根据经验)这是一个坏主意.
底线:这听起来像是在实现"模块"具有对类的一些特殊访问权限的情况下可能有用的想法,但在C++中并非如此.
| 归档时间: |
|
| 查看次数: |
8327 次 |
| 最近记录: |